大家好,关于全面收录:实用正则表达式汇总——涵盖数字校验、字符处理及特殊需求很多朋友都还不太明白,今天小编就来为大家分享关于的知识,希望对各位有所帮助!
1 个数字:^[0-9]*$
2n 位数字:^d{n}$
3至少有n位的数字:^d{n,}$
4m-n 位数字:^d{m,n}$
5以零和非零开头的数字:^(0|[1-9][0-9]*)$
6以非零开头且最多保留两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$
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*$ 或^([1-9][0-9]*){1,3}$ 或^+?[1-9][0 -9]*$
12 个非零负整数:^-[1-9][]0-9"*$ 或^-[1-9]d*$
13 个非负整数:^d+$ 或^[1-9]d*|0$
14 个非正整数:^-[1-9]d*|0$ 或^((-d+)|(0+))$
15 个非负浮点数:^d+(.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]+.[0 - 9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9 ] *[1-9][0-9]*))$
18 负浮点数:^-([1-9]d*.d*|0.d*[1-9]d*)$ 或^(-(([0-9] + .[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)| ([0-9]*[1-9][0-9]*)))$
19 浮点数:^(-?d+)(.d+)?$ 或^-?([1-9]d*.d*|0.d*[1-9] d*|0?.0+|0)$
2. 校验字符的表示
1个汉字:^[u4e00-u9fa5]{0,}$
2 英文和数字:^[A-Za-z0-9]+$ 或^[A-Za-z0-9]{4,40}$
3长度为3-20的所有字符:^.{3,20}$
4由26个英文字母组成的字符串:^[A-Za-z]+$
5 由26个大写英文字母组成的字符串:^[A-Z]+$
6 26个小写英文字母组成的字符串:^[a-z]+$
7由数字和26个英文字母组成的字符串:^[A-Za-z0-9]+$
8 由数字、26个英文字母或下划线组成的字符串:^w+$ 或^w{3,20}$
9 中文、英文、数字含下划线:^[u4E00-u9FA5A-Za-z0-9_]+$
10中文、英文、数字但不包括下划线等符号:^[u4E00-u9FA5A-Za-z0-9]+$或^[u4E00-u9FA5A-Za-z0-9]{2,20}$
11 可以输入包含^%",=?$"的字符及其他字符:[^%",=?$x22]+
12 禁止输入含有~的字符:[^~x22]+
3. 特殊需求的表达
1电子邮件地址:^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
2域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{ 0,62})+/.
3InternetURL: [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{8}$
5 个电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXX"、"XXXXXXX" 和"XXXXXXXXX):^((d{3,4}-)| d{3.4}-)?d{7,8}$
6国内电话号码(0511-4405222、021-87888822):d{3}-d{8}|d{4}-d{7}
7 身份证号码(15、18位):^d{15}|d{18}$
8个短ID号(数字、以x结尾的字母):^([0-9]){7,18}(x|X)?$或^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之间,只能包含字母、数字和下划线):^[a-zA-Z]w{5,17}$
11个强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$12日期格式:^d{4}-d{1,2}-d{1,2}
13一年十二个月(0109和112):^(0?[1-9]|1[0-2])$
14 一个月31 天(0109 和131):^((0?[1-9])|((1|2)[0-9])|30|31)$15 输入格式:
161. 我们可以接受四种货币表示形式:"10000.00"和"10,000.00",以及不带"cent"的"10000"和"10,000":^[1-9][0-9]*$172。这意味着任何不以0 开头的数字,但是,它也意味着字符"0" 它不会通过,因此我们使用以下形式: ^(0|[1-9][0-9]*)$183 。 0 或不以0 开头的值前导数字。我们还可以在开头允许使用负号:^(0|-?[1-9][0-9]*)$194。这意味着0 或不以0 开头的数字可能为负数。让用户从0 开始。还要删除负号,因为钱不能为负数。接下来我们需要添加的是指示可能的小数部分:^[0-9]+ (.[0-9]+)?$205。必须注意的是,小数点后至少应有1 位数字,即“10”。未通过,但通过了“10”和“10.2”:^[ 0-9]+(.[0-9]{2})?$216。这样我们就规定小数点后必须有两位小数。如果你觉得太苛刻了,你可以Like这样:^[0-9]+(.[0-9]{1,2})?$227。这允许用户只写一位小数。接下来我们应该考虑数字中的逗号,我们可以这样做:^ [0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2} )?$238.1 至3 个数字,后跟任意数字逗号+ 3 位数字,逗号变为可选而不是必需:^([0-9]+|[0-9]{1,3}(,[0-9]{ 3})*)(.[ 0-9]{1,2})?$24 注意:这是最终结果,如果您认为空,请不要忘记"+"可以替换为"*" string 是可以接受的(奇怪,为什么?)最后,使用函数的时候别忘了去掉反斜杠,一般错误都在这里
25xml 文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\.[x|X][m|M][l|L]$
26个汉字的正则表达式:[u4e00-u9fa5]
27个双字节字符:[^x00-xff](包括汉字,可以用来计算字符串的长度(一个双字节字符的长度算2,一个ASCII字符的长度算作1))
28 空行的正则表达式:ns*r(可用于删除空行)
29 HTML 标签的正则表达式:(S*?)[^]*.*?|.*? /(网上流传的版本太烂了,上面的只是部分有效,对于复杂的嵌套标签还是无能为力)
30 前导和尾随空白字符的正则表达式:^s*|s*$ 或(^s*)|(s*$) (可用于删除开头的空白字符(包括空格和制表符)以及行尾字符、换页符等),非常有用的表达式)
31 腾讯QQ号码:[1-9][0-9]{4,}(腾讯QQ号码从10000开始)
32 中国邮政编码:[1-9]d{5}(?d)(中国邮政编码为6位)
33IP地址:d+.d+.d+.d+(提取IP地址时有用)
34IP地址:((?(?25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?25[0 -5]|2[0-4]\d|[01]?\d?\d))
【全面收录:实用正则表达式汇总——涵盖数字校验、字符处理及特殊需求】相关文章:
用户评论
这篇文章终于找到了!我一直在找一个全面的正则表达式资源。
有13位网友表示赞同!
看这个题目就知道很实用,赶紧学习一下!
有14位网友表示赞同!
原来这么多种类!我一直只用简单的一些正则,这下可以扩展下知识面了。
有18位网友表示赞同!
数字校验、字符校验,这些都是经常要用到的吧?
有18位网友表示赞同!
希望文章里能讲一些特殊需求的案例,我最近遇到一个需要用到高级正则的情况。
有15位网友表示赞同!
学习正则表达式对我来说是个挑战,但这篇文章如果真的全面那就太好了!
有11位网友表示赞同!
对于程序员来说了解正则表达式是必不可少的,有了这个大全就太棒了!
有8位网友表示赞同!
我最怕遇到复杂的数据格式验证,希望这篇文章能解决我的难题!
有14位网友表示赞同!
终于不用再看那些零碎的教程了,一个全面的资源真是太方便。
有5位网友表示赞同!
学习正则表达式可以提升代码效率,这个大全很有帮助!
有15位网友表示赞同!
不知道这篇文章还包含哪些其他的类型的正则表达式呢?
有6位网友表示赞同!
期待能详细讲解一些重要的正则语法和使用方法。
有12位网友表示赞同!
我会把这个链接分享给我的同学们,大家都需要用到正则表达式。
有16位网友表示赞同!
这个网站更新内容很快吗?希望以后会有更多新的正则表达式示例!
有15位网友表示赞同!
如果能用一些代码实例展示用法就更好了!
有11位网友表示赞同!
我已经收藏起来了,下次遇到问题可以直接参考!
有19位网友表示赞同!
这篇文章能否提供一些学习正则表达式的技巧和建议?
有12位网友表示赞同!
现在很多网站都使用校验规则,掌握正则表达式真的很重要!
有18位网友表示赞同!
期待阅读一篇详细的正则表达式教程!
有20位网友表示赞同!
希望这篇文章能够帮助我更高效地处理文本数据。
有14位网友表示赞同!