当前位置:首页 > PHP教程 > 正则表达式 > 列表

php表单习惯用的正则表达式

发布:smiling 来源: PHP粉丝网  添加日期:2021-08-12 10:24:53 浏览: 评论:0 

这篇文章通过实例代码给大家介绍了php表单习惯使用的正则表达式,非常不错,具有参考借鉴价值,需要的朋友参考下吧。

php表单常用正则表达式,代码如下所示:

  1. function is_email($str){  
  2. //检验email  
  3. return preg_match("/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/"$str);  
  4. }  
  5. function is_url($str){  
  6. //检验网址  
  7. return preg_match("/^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"])  
  8. *$/", $str);  
  9. }  
  10. function is_qq($str){  
  11. //检验qq  
  12. return preg_match("/^[1-9]\d{4,8}$/"$str);  
  13. }  
  14. function is_zip($str){  
  15. //检验邮编  
  16. return preg_match("/^[1-9]\d{5}$/"$str);  
  17. }  
  18. function is_idcard($str){  
  19. //检验身份证  
  20. return preg_match("/^\d{15}(\d{2}[A-Za-z0-9])?$/"$str);  
  21. }  
  22. function is_chinese($str){  
  23. 检验是否是中文  
  24. return ereg("^[".chr(0xa1)."-".chr(0xff)."]+$",$str);  
  25. }  
  26. function is_english($str){  
  27. //检验是否是英文  
  28. return preg_match("/^[A-Za-z]+$/"$str);  
  29. }  
  30. function is_mobile($str){  
  31. //检验是否是手机  
  32. return preg_match("/^((\(\d{3}\))|(\d{3}\-))?13\d{9}$/"$str);  
  33. }  
  34. function is_phone($str){  
  35. //建云那是否是电话  
  36. return preg_match("/^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$/",  
  37. $str);  
  38. }  
  39. function is_safe($str){  
  40. return (preg_match("/^(([A-Z]*|[a-z]*|\d*|[-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)|.  
  41. {0,5})$|\s/", $str) != 0);  
  42. }  

PS:下面再给大家分享一段代码

  1. <?php 
  2. /** 
  3. * @description: 正则表达式匹配 
  4. */ 
  5. class Regex { 
  6. /** 
  7. * @手机号 
  8. */ 
  9. public static function Phone($subject) { 
  10. $pattern='/^(0|86|17951)?(13[0-9]|15[012356789]|1[78][0-9]|14[57])[0-9]{8}$/'
  11. return Regex::PublicMethod($pattern$subject); 
  12. /** 
  13. * @数字 
  14. */ 
  15. public static function Number($subject) { 
  16. $pattern='/^[0-9]+$/'
  17. return Regex::PublicMethod($pattern$subject); 
  18. /** 
  19. * @年份 格式:yyyy 
  20. */ 
  21. public static function Year($subject) { 
  22. $pattern='/^(\d{4})$/'
  23. return Regex::PublicMethod($pattern$subject); 
  24. /** 
  25. * @月份 格式:mm 
  26. */ 
  27. public static function Month($subject) { 
  28. $pattern='/^0?([1-9])$|^(1[0-2])$/'
  29. return Regex::PublicMethod($pattern$subject); 
  30. /** 
  31. * @日期 格式:yyyy-mm-dd 
  32. */ 
  33. public static function Day($subject) { 
  34. $pattern='/^(\d{4})-(0?\d{1}|1[0-2])-(0?\d{1}|[12]\d{1}|3[01])$/'
  35. return Regex::PublicMethod($pattern$subject); 
  36. /** 
  37. * @日期时间 格式:yyyy-mm-dd hh:ii:ss 
  38. */ 
  39. public static function DateTime($subject) { 
  40. $pattern='/^(\d{4})-(0?\d{1}|1[0-2])-(0?\d{1}|[12]\d{1}|3[01])\s(0\d{1}|1\d{1}|2[0-3]):[0-5]\d{1}:([0-5]\d{1})$/'
  41. return Regex::PublicMethod($pattern$subject); 
  42. /** 
  43. * @邮箱 
  44. */ 
  45. public static function Email($subject) { 
  46. $pattern='/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/'
  47. return Regex::PublicMethod($pattern$subject); 
  48. /** 
  49. * @邮编 
  50. */ 
  51. public static function Postcode($subject) { 
  52. $pattern='/[1-9]\d{5}(?!\d)/'
  53. return Regex::PublicMethod($pattern$subject); 
  54. /** 
  55. * @有效图片地址 
  56. */ 
  57. public static function Photo($subject) { 
  58. $pattern='/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/'
  59. return Regex::PublicMethod($pattern$subject); 
  60. /** 
  61. * @URL地址 
  62. */ 
  63. public static function UrlAddress($subject) { 
  64. $pattern='/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/'
  65. return Regex::PublicMethod($pattern$subject); 
  66. /** 
  67. * @有效HTTP地址 
  68. */ 
  69. public static function EffectiveHttp($subject) { 
  70. $pattern='/\b(([\w-]+:\/\/?|www[.])[^\s()<>]+(?:\([\w\d]+\)|([^[:punct:]\s]|\/)))/'
  71. return Regex::PublicMethod($pattern$subject); 
  72. /** 
  73. * @身份证 
  74. */ 
  75. public static function Identity($subject) { 
  76. $pattern='/(^\d{15}$)|(^\d{17}([0-9]|X)$)/'
  77. return Regex::PublicMethod($pattern$subject); 
  78. /** 
  79. * @IPv4 
  80. */ 
  81. public static function Ipv4($subject) { 
  82. $pattern='/^(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))$/'
  83. return Regex::PublicMethod($pattern$subject); 
  84. /** 
  85. * @IPv6 
  86. */ 
  87. public static function Ipv6($subject) { 
  88. $pattern='/^([\da-fA-F]{1,4}:){7}[\da-fA-F]{1,4}$/'
  89. return Regex::PublicMethod($pattern$subject); 
  90. /** 
  91. * @匹配正则公共方法 
  92. */ 
  93. public static function PublicMethod($pattern$subject){ 
  94. if(preg_match($pattern$subject)){ 
  95. return true; 
  96. return false; 
  97. }

Tags: php正则表达式

分享到: