-
-
function 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 を使用してドメイン名の有効性を確認しますメールの一部
- return true;
- }else{
- return false;
- }
- }else{
- return false;
- }
- }
//注: checkdnsrr 関数は、以下は、外国人プログラマーによって提案されたソリューションです。彼は、checkdnsrr 関数を置き換える関数を作成しました:
- function myCheckDNSRR($hostName, $recType=''){
- if(!emptyempty($hostName)){
- if( $recType=='' ) $recType="MX";
- exec("nslookup -type=$recType $hostName", $result);
- foreach($result as $line){
- if(eregi( "^$hostName ",$line)){
- return true;
- }
- }
- return false;
- }
- return false;
- }
-
コードをコピー
|