黑帽联盟

标题: php之正则表达式汇总 [打印本页]

作者: 定位    时间: 2017-1-23 14:11
标题: php之正则表达式汇总
以下是收集的一些大家经常用到的正则表达式整理,方便日后在工作中参考,特此记录一下。

只能输入数字:"^[0-9]*$"

只能输入 n 位的数字:"^\d{n}$"

只能输入至少 n 位的数字:"^\d{n,}$"

只能输入 m ~ n 位的数字:"^\d{m,n}$"

只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"

只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"

只能输入有 1~3 位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"

只能输入非零的正整数:"^\+?[1-9][0-9]*$"

只能输入非零的负整数:"^\-[1-9][0-9]*$"

只能输入长度位 3 的字符:"^.{3}$"

只能输入由 26 个英文字母组成的字符串:"^[A-Za-z]+$"

只能输入由 26 个大写英文字母组成的字符串:"^[A-Z]+$"

只能输入由 26 个小写英文字母组成的字符串:"^[a-z]+$"

只能输入由数字和 26 个英文字母组成的字符串:"^[A-Za-z0-9]+$"

只能输入由数字、26个英文字母或者下划线组成的字符串:"^\w+$"

验证用户密码: "^[a-zA-Z]\w{5,17}$" 正确格式位:以字母开头,长度在6~18之间,只能包含字符、数字和下划线

验证是否含有非法字符 ^(?:[\u4e00-\u9fa5]*\w*\s*)+$

只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"

验证 Email 地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"

验证 InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?$"

中国电话号码验证

匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222

正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"

中国邮政编码验证

匹配形式如:215421

正则表达式 "d{6}"

电子邮件验证

匹配形式如:cnblackhat@qq.com

正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"

身份证验证

匹配形式如:15位或者18位身份证

正则表达式 "d{18}|d{15}"

常用数字验证

正则表达式

"d{n}" n为规定长度

"d{n,m}" n到m的长度范围

非法字符验证

匹配排除非法字符的字符如:

正则表达式 ^(?:[\u4e00-\u9fa5]*\w*\s*)+$

日期验证

匹配形式如:20030718,030718

范围:1900--2099

正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}


使用实例:
  1. 01
  2. <html>
  3. 02
  4. <head>
  5. 03
  6. <title>php正则表达式集锦实例</title>
  7. 04
  8. <script language="javascript" type="text/javascript">
  9. 05
  10. function Button1_onclick(){
  11. 06
  12.     if(!test_hanzi(document.form1.Text1.value)){
  13. 07
  14.     alert("姓名只能是汉字");
  15. 08
  16.     return false;
  17. 09
  18.     }
  19. 10
  20.     return true;
  21. 11
  22. }
  23. 12
  24. //验证电子邮件
  25. 13
  26. function test_email(strEmail){
  27. 14
  28.     var myReg = /^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/;
  29. 15
  30.     if(myReg.test(strEmail)) return true;
  31. 16
  32.     return false;
  33. 17
  34. }
  35. 18
  36. //只能输入数字
  37. 19
  38. function test_shuzi(strshuzi){
  39. 20
  40.     var myReg =/^[0-9]*$/;
  41. 21
  42.     if(myReg.test(strshuzi)) return true;
  43. 22
  44.     return false;
  45. 23
  46. }
  47. 24
  48. //只能输入汉字
  49. 25
  50. function test_hanzi(strhanzi){
  51. 26
  52.     var myReg =/^[\u4e00-\u9fa5]{0,}$/;
  53. 27
  54.     if(myReg.test(strhanzi)) return true;
  55. 28
  56.     return false;
  57. 29
  58. }
  59. 30
  60. </script>
  61. 31
  62. </head>
  63. 32
  64. <body>
  65. 33
  66. <form name="form1">姓名:
  67. 34
  68.     <input id="Text1" name="Text1" type="text" /> <span style="font-family: Arial, Helvetica, sans-serif;">黑帽联盟</span>

  69. 35
  70.     <input name="按钮" type="button" id="Button1" onclick="return Button1_onclick()" value="button" language="javascript" />
  71. 36
  72. </form>
  73. 37
  74. </body>
  75. 38
  76. </html>
复制代码





欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) Powered by Discuz! X2.5