php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)

这篇文章主要介绍了php正则表达式验证,实现邮件地址、Url地址、电话号码、邮政编码验证,感兴趣的小伙伴们可以参考一下。

本文实例需要验证的内容:邮件地址、Url地址、电话号码、邮政编码,验证方法分享给大家供大家参考,具体内容如下

1、电子邮件地址的校验

  1. <?php
  2. /* 校验邮件地址*/
  3. function checkMail($email) {
  4. //用户名,由“\w”格式字符、“-”或“.”组成
  5. $email_name= "\w|(\w[-.\w]*\w)";
  6. //域名中的第一段,规则和用户名类似,不包括点号“.”
  7. $code_at= "@";
  8. $per_domain= "\w|(\w[-\w]*\w)";
  9. //域名中间的部分,至多两段
  10. $mid_domain= "(\." .$per_domain. "){0,2}";
  11. //域名的最后一段,只能为“.com”、“.org”或“.net”
  12. $end_domain= "(\.(com|net|org))";
  13. $rs= preg_match(
  14. "/^{$email_name}@{$per_domain}{$mid_domain}{$end_domain}$/",
  15. $email
  16. );
  17. return (bool)$rs;
  18. }
  19. //测试,下面均返回成功
  20. var_dump( checkMail("root@localhost") );
  21. var_dump( checkMail("Frank.Roulan@esun.edu.org") );
  22. var_dump( checkMail("Tom.024-1234@x-power_1980.mail-address.com") );
  23. ?>

2、URL地址的校验

  1. <?php
  2. /* 校验URL地址*/
  3. function checkDomain($domain)
  4. {
  5. return ereg("^(http|ftp)s? ://(www\.)?.+(com|net|org)$", $domain);
  6. }
  7. $rs= checkDomain("www.phpfensi.com");//返回假
  8. $rs= checkDomain("http://www.phpfensi.com");//返回真
  9. ?>

3、电话号码

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

4、邮政编码的校验

  1. <?php
  2. /* 校验邮政编码*/
  3. function checkZipcode($code)
  4. {
  5. //去掉多余的分隔符
  6. $code = preg_replace("/[\. -]/", "", $code);
  7. //包含一个6位的邮政编码
  8. if(preg_match("/^\d{6}$/", $code))
  9. {
  10. return true;
  11. }else{
  12. return false;
  13. }
  14. }
  15. $rs= checkZipCode("123456");//返回真
  16. ?>