正则表达式的Wed验证应用(40),正则表达式wed
电子邮件地址的校验
<?<span>php
</span><span>/*</span><span> 校验邮件地址</span><span>*/</span><span>
function checkMail($email) {
</span><span>//</span><span>用户名,由“\w”格式字符、“-”或“.”组成</span>
$email_name= <span>"</span><span>\w|(\w[-.\w]*\w)</span><span>"</span><span>;
</span><span>//</span><span>域名中的第一段,规则和用户名类似,不包括点号“.”</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>域名的最后一段,只能为“.com”、“.org”或“.net”</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>
?>
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn