手机版

史上最全面的PHP正则表达式(手机号需加177-***)

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

先看看正则表达式思维导图:

首先,检查数字的表达

1位数字:[0-9] * $2 n位数字:\ d {n} $3至少n位数字:\ d {n,} $4 m-n位数字:\ d {m,n} $5和非零起始数字:(0 | [1-9 $7带1-2位小数的正数或负数:\-)?\d (\。\d{1,2})?$8正数、负数和小数:(\-| \)?\d (\。\d)?$9是一个正实数,有两个小数位:[0-9](。[0-9] {2})?$10是一个正实数,有1~3个小数位:[0-9](。[0-9] {1,3})?$11是非零正整数:[1-9] \ d * $ or ([1-9] [0-9] *) {1,3} $ or \?[1-9][0-9]*$12是非零负整数:\-[1-9] [] 0-9' * $或-[1-9] \ d * $13是非负整数:\-d $或[1-9] \ d $或[1-9] \ d * \。\ d * | 0 \。\ d * [1-9] \ d * | 0 \.0 |0$16是非正浮点数:(-\ d (\)。\ d)?)|(0 (\.0 )?)$或(-([1-9] \ d * \。\ d * | 0 \。\ d *[1-9]\ d *)| 0?\.0 |0$17是正浮点数:[1-9] \ d * \。\ d * | 0 \。\ d * [1-9] \ d * $或(([0-9] \。D*|0\。\d*[1-9]\d*)$或(-(([0-9] \。[0-9]*[1-9]*)|([0-9]*[1-9]\ d)(\。\d)?$或-?([1-9]\d*\。\d*|0\。\d*[1-9]\d*|0?\.0 |0)$

第二,检查人物的表情

1个中文字符:[\ u4e00-\ u9fa5] {0,} $2个英文和数字:[a-za-z0-9] $或[a-za-z0-9] {4,40} $3个长度为3-20的所有字符:{ 20}$4由26个英文字母组成的字符串:[a-za-z] $5由26个大写英文字母组成的字符串:[a-z] $6由26个小写英文字母组成的字符串:[a-z] $7由数字和26个英文字母组成的字符串:[a-za-z0-。W $或\ w {3,20} $9中文、英文和数字包括下划线:[\ U4E00-\ U9Fa5A-ZA-Z0-9 _] $10中文、英文和数字但不包括下划线和其他符号:[\ U4E00-\ U9Fa5A-。=?字符,如$ \': [% ',=?$\x22] 12禁止输入包含~: [~ \ x22]的字符

第三,特殊需求的表达

1.电子邮件地址:\ w ([-。]\ w)* @ \ w([-]。] \ w) * \。\ w ([-。] \ w) * $2,域名:[a-za-z0-9] [-a-。3.internet URl:[a-za-z]://[\ s]*或http://([\ w-] \。)[\ w-] (/[\ w-。/?%=]*)?$4,手机号码:(13[0-9]| 14[5 | 7]| 15[0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9]| 18[0 | 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 \ d { 7,8}$ 6国内电话号码(0511-4405222,021-8788822):\ d { 3 }-\ d { 8 } | \ d { 4 }-\ d { 7 }身份证号:15位或18位身份证D)|3[0-1])\d{3}$18身份证:[1-9]\ D { 5 }[1-9]\ D { 3 }((0 \ D)|(1[0-2])([0 |)$或\ d {8,18} | [0-9x] {8,18} | [0-9x] {8,18}?$9.账号是否合法(以字母开头,允许5-16字节,允许字母数字下划线):[a-za-z] [a-za-z0-9 _] {4,15} $10,密码(以字母开头,长度在6-18之间,只能包含字母、数字和下划线)=。*\d)(?=.*[a-z])(?=.*[A-Z])。{8,10}$ 12,日期格式:\ d {4}-\ d {1,2}-\ d {1,2} 13,一年中的12个月(01 ~ 09和1 ~ 12): [1-9]|1[0-2])$14,一个月中的31天(01-09和1-31): ((0?[1-9])|((1|2)[0-9])|30|31)$ 15.货币输入格式:16。1.我们可以接受3360‘10000.00’和‘10,000.00’四种货币形式,不接受‘000’:[1-9][0-9]* $ 17,2。这意味着任何不以0开头的数字,但也意味着字符“0”失败,因此我们采用以下形式:(0 | [1-9] [0-9] *) $18,[1-9][0-9]*)$ 19, 4.这意味着一个零或者可能是一个不以零开始的负数。让用户从零开始。去掉负号,因为钱不可能永远是负数。接下来我们要补充的是解释可能的小数部分:[0-9](。[0-9].$20, 5.必须说明小数点后至少要有一位数字,所以是“10”未通过,但通过了“10”和“10.2”:[0-9](。[0-9] {2})?$21, 6.所以我们规定小数点后必须有两位数。如果觉得太苛刻,可以这样走:[0-9](。[0-9] {1,2})?$22, 7.这允许用户只写一个小数位。接下来,我们应该考虑数字中的逗号。我们可以这样做:[0-9] {1,3}(,[0-9] {3}) *(。[0-9] {1,2})?$23,8.1到3个数字,后跟任意逗号,逗号是可选的,但不是必需的:([0-9] | [0-9] {1,3}(,[0-9] {3}) *)(。[0-9] {1,2})注:这是最终结果。别忘了如果你认为空字符串可以接受的话,“”可以用“*”代替(奇怪,为什么?最后,在使用函数时不要忘记删除反斜杠。一般的错误都在这里。25.xml文件:([a-za-z]-?)[a-za-z0-9] \ \。[x | x] [m | m] [l | l] $26,汉字正则表达式:[\u4e00-\u9fa5]27,双字节字符:[\ x00-\ xff] )[^]*.*?/\1|.*?/(网上流传的版本太烂了,上面那个只能部分使用,对于复杂的嵌套标签还是无能为力。) 30.开头和结尾空白字符的正则表达式:\ s * | \ s * $或(\ s *) | (\ s * $)(可用于删除行首和行尾的空白字符(包括空格、制表符、分页符)!\d)(中国邮政编码为6位数字)33。IP地址:\ d \。\ d \。\ d(提取IP地址时有用)

摘要

以上是边肖介绍的历史上最完整的PHP正则表达式(手机号需要加上177-***),希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

版权声明:史上最全面的PHP正则表达式(手机号需加177-***)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。