数字的正则
1、纯数字正则:^[0-9]*$
2、 有n位的数字正则:^\d{n}$
3、至少有n位数字的正则:^\d{n,}$
4、位数在m-n位之间的正则:^\d{m,n}$
5、匹配整数(不区分正负数):^-?[1-9]d*$
6、匹配负整数:^-[1-9]d*$
字符串的正则
1、纯英文字母的正则(不区分大小写):^[A-Za-z]+$
2、纯英文大写字母的正则:^[A-Z]+$
3、纯英文小写字母的正则:^[a-z]+$
4、只有数字和26个英文字母的正则:^[A-Za-z0-9]+$
5、字符长度为在m-n位之间的正则:^.{m,n}$
6、以字母开头,长度在6~18之间,只能包含字母、数字和下划线:^[a-zA-Z]\w{5,17}$
7、以字母开头,长度在6~18之间,只能包含字母、数字不包含下划线:^[a-zA-Z][a-zA-Z0-9]{4,15}$
8、必须且只能包含数字和字母的正则:^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$
以这个为例稍微说一下
^ 表示一行的开始位置
(?![0-9]+$) 表示不全是数字
(?![a-zA-Z]+$) 表示不全是字母
[0-9A-Za-z] {6,10} 表示由6-10位数字或这字母组成
$ 匹配行结尾位置
这个三个条件决定了这个表达式 是必须包含数字和字母 其只能包含数字和字母 并且字符长度位数是在6-10位之间。
9、身份证号(只验证了15位或18位数字)正则:^d{15}|d{18}$
稍微讲解一下规则(可以跟上面的实例相互验证,加强理解)
\w:表示的是数字、字母及下划线。
\d:表示的只是数字。
^:字符串的开始位置。如果是在[ ]里面的话则表示“非”的意思,就是排除掉[ ]里面包含的内容
^n:表示必须以 n字符串 开头。
$:字符串的结束位置。
?=n:表示后面紧接着跟着字符串 n 。
?!n:表示其后不是紧接跟着字符串 n 。