宝哥软件园

史上最全面的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-***),希望对大家有所帮助。如果你有任何问题,请给我留言,边肖会及时回复你。非常感谢您对我们网站的支持!

更多资讯
游戏推荐
更多+