正则表达式不管是做哪方面开发的朋友都会使用到,但是有好多人不太懂正则正则表达式,又因为用的频率比较低的缘故又懒得去看,用的时候就直接到网上找一下,但经常在网上去找很久,结果也不一定跟需要的符合。 数字的正则 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 。 |