黑帽联盟

 找回密码
 会员注册
查看: 1343|回复: 0
打印 上一主题 下一主题

[php] php之正则表达式汇总

[复制链接]

895

主题

38

听众

3329

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    难过
    前天 22:31
  • 签到天数: 1652 天

    [LV.Master]伴坛终老

    以下是收集的一些大家经常用到的正则表达式整理,方便日后在工作中参考,特此记录一下。

    只能输入数字:"^[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>
    复制代码
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    勿忘初心,方得始终!
    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部