ホームページ  >  記事  >  バックエンド開発  >  正規表現の水検証アプリケーション (40)

正規表現の水検証アプリケーション (40)

WBOY
WBOYオリジナル
2016-08-08 09:23:19901ブラウズ

メールアドレス認証

<?<span>php
</span><span>/*</span><span> 校验邮件地址</span><span>*/</span><span>function checkMail($email) {
</span><span>//</span><span>用户名,由&ldquo;\w&rdquo;格式字符、&ldquo;-&rdquo;或&ldquo;.&rdquo;组成</span>$email_name= <span>"</span><span>\w|(\w[-.\w]*\w)</span><span>"</span><span>;
</span><span>//</span><span>域名中的第一段,规则和用户名类似,不包括点号&ldquo;.&rdquo;</span>$code_at= <span>"</span><span>@</span><span>"</span><span>;
$per_domain</span>= <span>"</span><span>\w|(\w[-\w]*\w)</span><span>"</span><span>;
</span><span>//</span><span>域名中间的部分,至多两段</span>$mid_domain= <span>"</span><span>(\.</span><span>"</span> .$per_domain. <span>"</span><span>){0,2}</span><span>"</span><span>;
</span><span>//</span><span>域名的最后一段,只能为&ldquo;.com&rdquo;、&ldquo;.org&rdquo;或&ldquo;.net&rdquo;</span>$end_domain= <span>"</span><span>(\.(com|net|org))</span><span>"</span><span>;
$rs</span>=<span> preg_match(
</span><span>"</span><span>/^{$email_name}@{$per_domain}{$mid_domain}{$end_domain}$/</span><span>"</span><span>,
$email
);
</span><span>return</span> (<span>bool</span><span>)$rs;
}
</span><span>//</span><span>测试,下面均返回成功</span>var_dump( checkMail(<span>"</span><span>root@localhost</span><span>"</span><span>) );
var_dump( checkMail(</span><span>"</span><span>Frank.Roulan@esun.edu.org</span><span>"</span><span>) );
var_dump( checkMail(</span><span>"</span><span>Tom.024-1234@x-power_1980.mail-address.com</span><span>"</span><span>) );
</span>?>

URLアドレス認証

<?<span>php
</span><span>/*</span><span> 校验URL地址</span><span>*/</span><span>function checkDomain($domain)
{
</span><span>return</span> ereg(<span>"</span><span>^(http|ftp)s? ://(www\.)?.+(com|net|org)$</span><span>"</span><span>, $domain);
}
$rs</span>= checkDomain(<span>"</span><span>www.taodoor.com</span><span>"</span>);<span>//</span><span>返回假</span>$rs= checkDomain(<span>"</span><span>http://www.taodoor.com</span><span>"</span>);<span>//</span><span>返回真</span>?>

電話番号認証

<?<span>php
</span><span>/*</span><span> 校验电话号码</span><span>*/</span><span>function checkTelno($tel)
{
</span><span>//</span><span>去掉多余的分隔符</span>$tel= ereg_replace(<span>"</span><span>[\(\)\. -]</span><span>"</span>, <span>""</span><span>, $tel);
</span><span>//</span><span>仅包含数字,至少应为一个6位的电话号(即没有区号)</span><span>if</span>(ereg(<span>"</span><span>^\d+$</span><span>"</span><span>, $tel))
{
</span><span>return</span><span>true</span><span>;
}</span><span>else</span><span>{
</span><span>return</span><span>false</span><span>;
}
}
$rs</span>= checkTelno(<span>"</span><span>(086)-0411-12345678</span><span>"</span>);<span>//</span><span>返回真</span>?>

郵便番号認証

<?<span>php
</span><span>/*</span><span> 校验邮政编码</span><span>*/</span><span>function checkZipcode($code)
{
</span><span>//</span><span>去掉多余的分隔符</span>$code = preg_replace(<span>"</span><span>/[\. -]/</span><span>"</span>, <span>""</span><span>, $code);
</span><span>//</span><span>包含一个6位的邮政编码</span><span>if</span>(preg_match(<span>"</span><span>/^\d{6}$/</span><span>"</span><span>, $code))
{
</span><span>return</span><span>true</span><span>;
}</span><span>else</span><span>{
</span><span>return</span><span>false</span><span>;
}
}
$rs</span>= checkZipCode(<span>"</span><span>123456</span><span>"</span>);<span>//</span><span>返回真</span>?>

上記は、正規表現の水検証アプリケーション (40) を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

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