正则表达式的Wed验证应用(40)

电子邮件地址的校验

<?php

/* 校验邮件地址*/

function checkMail($email) {

//用户名,由“\w”格式字符、“-”或“.”组成

$email_name= "\w|(\w[-.\w]*\w)";

//域名中的第一段,规则和用户名类似,不包括点号“.”

$code_at= "@";

$per_domain= "\w|(\w[-\w]*\w)";

//域名中间的部分,至多两段

$mid_domain= "(\." .$per_domain. "){0,2}";

//域名的最后一段,只能为“.com”、“.org”或“.net”

$end_domain= "(\.(com|net|org))";

$rs= preg_match(

"/^{$email_name}@{$per_domain}{$mid_domain}{$end_domain}$/",

$email

);

return (bool)$rs;

}

//测试,下面均返回成功

var_dump( checkMail("root@localhost") );

var_dump( checkMail("[email protected]") );

var_dump( checkMail("Tom.024-1234@x-power_1980.mail-address.com") );

?>

URL地址的校验

<?php

/* 校验URL地址*/

function checkDomain($domain)

{

return ereg("^(http|ftp)s? ://(www\.)?.+(com|net|org)$", $domain);

}

$rs= checkDomain("www.taodoor.com");//返回假

$rs= checkDomain("http://www.taodoor.com");//返回真

?>

电话号码

<?php

/* 校验电话号码*/

function checkTelno($tel)

{

//去掉多余的分隔符

$tel= ereg_replace("[\(\)\. -]", "", $tel);

//仅包含数字,至少应为一个6位的电话号(即没有区号)

if(ereg("^\d+$", $tel))

{

return true;

}else{

return false;

}

}

$rs= checkTelno("(086)-0411-12345678");//返回真

?>

邮政编码的校验

<?php

/* 校验邮政编码*/

function checkZipcode($code)

{

//去掉多余的分隔符

$code = preg_replace("/[\. -]/", "", $code);

//包含一个6位的邮政编码

if(preg_match("/^\d{6}$/", $code))

{

return true;

}else{

return false;

}

}

$rs= checkZipCode("123456");//返回真

?>

 

你可能感兴趣的:(正则表达式)