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

8/31/2015来源:PHP技巧人气:1542

正则表达式的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("Frank.Roulan@esun.edu.org") );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");//返回真?>