ホームページ php教程 php手册 php中filter函数验证邮箱、url和ip地址的实例

php中filter函数验证邮箱、url和ip地址的实例

Jun 02, 2016 am 09:13 AM
URL検証

在看这函数之前我验证邮箱或IP地址及url都是使用正则表达式来处理,今天发现filter函数可以替换正则哦并且方法简单好用,下面我用实例介绍这函数的用法吧.

早年使用php的时候还不知道有filter这玩意,那时候判断邮箱、url和ip地址格式是否符合都是用正则表达式,后来随着使用的逐渐深入,才知道在php中也可以使用内置的函数库filter来完成这些功能.

1、验证邮箱,先来看原始的正则验证,代码如下:

<?php 
function isEmail($email){ 
    if(preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email )) { 
        return &#39;邮箱验证OK&#39;; 
    } else { 
        return &#39;验证不是邮箱&#39;; 
    } 
}
ログイン後にコピー

再看filter这玩意,代码如下:

$email = &#39;sjlinyu@qq.com&#39;;  
$result = filter_var($email, FILTER_VALIDATE_EMAIL);  
var_dump($result); //string(14) "sjlinyu@qq.com"
ログイン後にコピー

对于filter_var这个函数,如果验证通过则会返回验证对象,否则返回false,感觉后者更简单一些.

2、验证url地址,正则验证,代码如下:

<?php 
$url = &#39;www.phprm.com&#39;; 
$search = &#39;/---正则N---/&#39;; 
if(preg_match($search,$url)){ 
    echo &#39;匹配&#39;; 
}else { 
    echo &#39;不匹配&#39;; 
}
ログイン後にコピー

filter_var函数,代码如下:

$url = "http://www.phprm.com";  
$result = filter_var($url, FILTER_VALIDATE_URL);  
var_dump($result); //string(22) "http://www.phprm.com"
ログイン後にコピー

3、验证ip地址,正则验证函数,代码如下:

/** 
* 检查IP地址是否正确。 
*/ 
function checkipaddres ($ipaddres) { 
$preg="/A((([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5])).){3}(([0-9]?[0-9])|(1[0-9]{2})|(2[0-4][0-9])|(25[0-5]))Z/"; 
if(preg_match($preg,$ipaddres))return true; 
return false; 
}
ログイン後にコピー

此函数验证,代码如下:

$url = "192.168.1.110";  
$result = filter_var($url, FILTER_VALIDATE_IP);  
var_dump($result); //string(13) "192.168.1.110"
ログイン後にコピー

值的一提的是,这方法也可以用来验证ipv6,代码如下:

$url = "2001:DB8:2de::e13";  
$result = filter_var($url, FILTER_VALIDATE_IP);  
var_dump($result); //string(17) "2001:DB8:2de::e13"
ログイン後にコピー

4、验证数值是否为整数,并且在一个整数区间内,代码如下:

$i = &#39;010&#39;;  
$result = filter_var(  
     $i,  
     FILTER_VALIDATE_INT,  
     //设定校验的数值范围  
     array(  
      &#39;options&#39; => array(&#39;min_range&#39; => 1, &#39;max_range&#39; => 100)  
     )  
 );  
var_dump($result);//bool(false)
ログイン後にコピー

php的变量是弱类型,如果不用过滤器,直接使用大于小于符号判断的话会是真的,代码如下:

$i = &#39;010&#39;;  
$result = $i >= 1 && $i <= 100;  
var_dump($result);//bool(true)
ログイン後にコピー

5、验证浮点数,代码如下:

$float = 12.312;  
$result = filter_var($float, FILTER_VALIDATE_FLOAT);  
var_dump($result); //float(12.312)
ログイン後にコピー

在做一些金额方面的验证时,经常需要验证金额是否为浮点数.

总结:php中的filter过滤器虽然比较冷门,但是功能还是蛮强大的,除了上述这些功能外,还有一些过滤输入的功能,可查阅php手册.


本文链接:

收藏随意^^请保留教程地址.

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP で正規表現を使用して URL に指定された文字列が含まれているかどうかを確認する方法 PHP で正規表現を使用して URL に指定された文字列が含まれているかどうかを確認する方法 Jun 24, 2023 am 09:39 AM

インターネットの発展に伴い、URL は人々の日常生活に不可欠な部分になりました。場合によっては、URL に特定の文字列が含まれているかどうかを確認するために URL を検証する必要があります。 PHP では、正規表現を使用してこのプロセスを実行できます。この記事では、PHP で正規表現を使用して URL に指定した文字列が含まれているかどうかを確認する方法を紹介します。まず、正規表現の基本的な概念を理解する必要があります。正規表現は、文字列パターンを照合するために使用される式です。パターンで使用される特別な構文です

golang で正規表現を使用して URL アドレスが第 2 レベルのドメイン名であるかどうかを確認する方法 golang で正規表現を使用して URL アドレスが第 2 レベルのドメイン名であるかどうかを確認する方法 Jun 25, 2023 pm 06:30 PM

golang では、正規表現を使用して URL アドレスが第 2 レベルのドメイン名であるかどうかを確認することが一般的な要件です。この記事では、golangで正規表現を使って検証する方法と、URLアドレスがセカンドレベルドメイン名であるかどうかを検証するための正規表現の書き方を紹介します。まずは、golang における正規表現の基本的な使い方を見てみましょう。 Golang には正規表現ライブラリ regexp が用意されており、regexp パッケージを呼び出すことで正規表現を使用できます。通常のテーブルの使用

golang で正規表現を使用して URL アドレスを検証する方法 golang で正規表現を使用して URL アドレスを検証する方法 Jun 24, 2023 pm 04:00 PM

近年、インターネットの急速な発展により、私たちの生活はますますインターネットと切り離せないものになっています。インターネットを使用するとき、多くの場合、URL アドレスを入力または提供する必要があります。セキュリティと正確性を確保するために、入力された URL アドレスを確認する必要があります。この記事では、golang で正規表現を使用して URL アドレスを検証する方法を紹介します。 URL アドレスの基本コンポーネント 標準 URL アドレスには次の部分が含まれます。 プロトコル: http、https、ftp など。ドメイン名

golang で正規表現を使用して URL アドレスが第 5 レベルのドメイン名であるかどうかを確認する方法 golang で正規表現を使用して URL アドレスが第 5 レベルのドメイン名であるかどうかを確認する方法 Jun 24, 2023 am 08:36 AM

golang で正規表現を使用して、URL アドレスが第 5 レベルのドメイン名であるかどうかを確認するには、次の手順を実行します。 まず、第 5 レベルのドメイン名とは何かを理解する必要があります。これは、次のもので構成される完全なドメイン名を指します。 5 つの部分、例: https://www.example.com.cn。5 つの部分は、プロトコル、ホスト名、第 2 レベルのドメイン名、第 3 レベルのドメイン名、およびトップレベルのドメイン名です。この記事では、URL アドレスが第 5 レベル ドメイン名の形式であるかどうかを確認します。次に理解する必要があるのは、

golang で正規表現を使用して、入力が完全な URL アドレスであるかどうかを確認する方法 golang で正規表現を使用して、入力が完全な URL アドレスであるかどうかを確認する方法 Jun 24, 2023 pm 01:30 PM

golang では、正規表現を使用して入力が完全な URL アドレスであるかどうかを確認することが非常に重要です。正規表現は、文字列内のテキスト パターンを照合するために使用できる記述言語です。入力が特定の形式に準拠しているかどうかを確認する必要がある場合、正規表現を使用すると、入力が正しいかどうかを迅速に判断できます。では、golang で正規表現を使用して、入力が完全な URL アドレスであるかどうかを確認するにはどうすればよいでしょうか?この記事ではそれについて説明します。まず、URL アドレスのベースを理解する必要があります。

golangで正規表現を使用してURLアドレスにクエリパラメータが含まれているかどうかを確認する方法 golangで正規表現を使用してURLアドレスにクエリパラメータが含まれているかどうかを確認する方法 Jun 24, 2023 am 10:52 AM

golang では、正規表現を使用して URL アドレスにクエリ パラメータが含まれているかどうかを確認することは、go の標準ライブラリ「regexp」を通じて実装できます。以下に具体的な導入手順をご紹介します。 「regexp」パッケージをインポートする 正規表現を使用する前に、まず「regexp」パッケージをインポートする必要があります。次のステートメントを使用してインポートできます。 import "regexp" は、URL アドレスにクエリ パラメーターが含まれているかどうかを確認するために必要な正規表現を定義します。

PHP で正規表現を使用して URL パラメータの入力を検証する方法 PHP で正規表現を使用して URL パラメータの入力を検証する方法 Jun 24, 2023 am 11:10 AM

Web 開発では、URL パラメータの入力は非常に一般的で、通常、特定の操作を実行したりデータをクエリしたりするためにパラメータをサーバーに渡すために使用されます。ただし、URL パラメーターの入力は制限されていないため、悪意のあるユーザーが不適切な入力を悪用してアプリケーションを攻撃する可能性があります。したがって、URL パラメーターの入力を検証することが重要です。この記事では、PHP で正規表現を使用して URL パラメーターの入力を検証する方法について説明します。まず正規表現とは何かを理解する必要があります。正規表現は、一致するために使用される単語の一種です。

golang で正規表現を使用して URL アドレスがファーストレベル ドメイン名であるかどうかを確認する方法 golang で正規表現を使用して URL アドレスがファーストレベル ドメイン名であるかどうかを確認する方法 Jun 24, 2023 am 11:19 AM

golang では、正規表現を使用して第 1 レベルのドメイン名を検証するのは非常に簡単です。まず、第 1 レベルのドメイン名とは何かを理解する必要があります。第 1 レベル ドメイン名とは、インターネット ドメイン名の中で最も高いレベルのドメイン名を指し、通常 1 つの単語または略語で構成されます (例: google.com の com が第 1 レベル ドメイン名です)。したがって、検証する URL アドレスは、www.google.com または abc.baidu.com のような形式である必要があります。次に、golang の通常の関数を使用できます。

See all articles