很多不太了解规律性的朋友,在需要有规律性的查数据的时候,经常会在网上找很久,结果还是不符合要求。所以我最近整理了一些开发中常用的正则表达式,在这里分享一下。给自己留个底,给朋友做个参考。
1.检查数字的表达。
1个数字:[0-9] * $。
2位数: d {n} $。
至少有n位的3位数字: d {n,} $。
M-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 * $ 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 * | 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]).
18个负浮点数:-([1-9] d * 。 d * | 0 。 d * [1-9] d *) $或(-(([0-9] 。[0-9] * [1-9].
19浮点数:(-?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:的所有字符。{3,20} $.
由26个英文字母组成的字符串:[a-za-z] $。
由26个大写英文字母组成的字符串:[a-z] $。
6由26个小写英文字母组成的字符串:[a-z] $。
由7个数字和26个英文字母组成的字符串:[a-za-z0-9] $。
8由数字、26个英文字母或下划线组成的字符串: w $或 w {3,20} $。
中文、英文和数字包括下划线:[ u4e00- u9fa5a-za-z0-9 _] $。
10中文、英文、数字但不包括下划线和其他符号:[ u4e00- u9fa5a-za-z0-9] $或[ u4e00- u9fa5a-za-z0-9] {2,20} $。
11可以用“%”输入。=?字符,如$ ': [% ',=?$x22]
12禁止输入包含~: [~ x22]的字符。
三.特殊要求的表达。
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})/。
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])。
5电话号码(' XXX-XXXXXX ',' XXXXXX-XXXXXX ',' XXX-XXXXXX ',' XXX-XXXXXX ',' XXXXXX '和' XXXXXX '):( d { 3,4}-) | d {3.4}-)?d{7,8}$
6国内电话号码(0511-4405222,021-878822): d { 3 }- d { 8 } | d { 4 }- d { 7 }。
7身份证号(15位,18位): d {15} | d {18} $。
8短身份证号(数字,字母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}。
一年中的12个月(01 ~ 09和1 ~ 12): (0?[1-9]|1[0-2])$
一个月的14个31天(01 ~ 09和1 ~ 31): ((0?[1-9])|((1|2)[0-9])|30|31)$
15货币的输入格式:
16 1.我们可以接受的货币形式有四种:‘10000.00’和‘10000.00’,以及‘10000’和‘10000’没有‘积分’:[1-9][0-9]* $。
17 2.这意味着任何不以0开头的数字,但也意味着字符“0”失败,因此我们采用以下形式:(0 | [1-9] [0-9] *) $。
18 3.0或不以0开头的数字。我们也可以在开头允许一个负号:(0 |-?[1-9][0-9]*)$
19 4.这意味着0或可能是负数且不以0开头的数字。让用户从0开始。去掉负号,因为钱不可能永远是负数。下面我们要补充的是解释可能的小数部分:[0-9](。[0-9])?$
20 5.必须注意的是,小数点后至少要有一位数字,所以是“10”。未通过,但通过了“10”和“10.2”:[0-9](。[0-9] {2})?$
26.这样,我们规定小数点后必须有两位数。如果觉得太苛刻,可以如下:【0-9】(。[0-9] {1,2})?$
27.因此,用户只能写一个小数位。接下来,我们应该考虑数字中的逗号。我们可以这样做:[0-9] {1,3}(,[0-9] {3}) *(。[0-9] {1,2})?$
28.1到3个数字,后跟任何逗号,逗号是可选的,但不是必需的:([0-9] | [0-9] {1,3}(,[0-9] {3}) *)(。[0-9] {1,2})?$
24备注:这是最终结果。不要忘记,如果你认为空字符串是可以接受的(奇怪,为什么?最后,在使用函数时不要忘记删除反斜杠。一般的错误都在这里。
25 xml文件:([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*?)[^]*.*?/1|.*?/(网上流传的版本太烂了,上面那个只能部分使用,但是对于复杂的嵌套标签还是无能为力。)
30个前导和尾随空白字符的正则表达式: s * | s * $或( s *) | ( s * $)(它可用于删除空白字符(包括空格、制表符、分页符等。)在一行的开头和结尾,这是一个非常有用的表达式)。
腾讯QQ号:[1-9][0-9]{4,}(腾讯QQ号从10000开始)。
32中国邮政编码:[1-9]d{5}(?d)(中国邮政编码为6位数字)
IP地址:d 。d 。d 。d(提取IP地址时有用)。
34 IP地址:(?(?25[0-5]|2[0-4]\d|[01]?\d?\d)\。){3}(?25[0-5]|2[0-4]\d|[01]?\d?\d))
你想要的65个最常用的正则表达式都在这里。请尽快领取。