ホームページ  >  記事  >  バックエンド開発  >  PHP は、user_PHP チュートリアルで入力された電子メールの有効性と正確性を検証します。

PHP は、user_PHP チュートリアルで入力された電子メールの有効性と正確性を検証します。

WBOY
WBOYオリジナル
2016-07-22 09:03:001075ブラウズ

関数 validate_email($email){

$exp="^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+([._-] [a-z0-9]+))+$";

if(eregi($exp,$email)){ //まず正規表現を使用してメール形式の有効性を検証します

if(checkdnsrr(array_pop(explode("@",$email)),"MX")){//checkdnsrr を使用してメールのドメイン名部分の有効性を検証します

true を返す;

}その他{

false を返す;

}

}その他{

false を返す;

}

}

注: checkdnsrr 関数は win ホストでは無効です! 以下は、外国のプログラマーによって提案された解決策です。彼は checkdnsrr 関数を置き換える関数も作成しました。

関数 myCheckDNSRR($hostName, $recType=''){

if(!emptyempty($hostName)){

if( $recType=='' ) $recType="MX";

exec("nslookup -type=$recType $hostName", $result);

foreach($result as $line){

if(エレギ("^$ホスト名",$line)){

true を返す;

}

}

false を返す;

}

false を返す;

}

http://www.bkjia.com/PHPjc/371826.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/371826.html技術記事 function validate_email($email){ $exp=^[a-z'0-9]+([._-][a-z'0-9]+)*@([a-z0-9]+( [._-][a-z0-9]+))+$; if(eregi($exp,$email)){ //まず正規表現を使用して電子メール形式の有効性を確認します if(c...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。