正则表达式语法小结

前端之家收集整理的这篇文章主要介绍了正则表达式语法小结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

iamlaosong文

最近学了一下正则表达式,正则表达式说起来很复杂,似乎很难记,其实总结起来也就三点,一个是匹配符,另一个限定符,最后就是特殊符号。记住下面三点,正则表达式不说会写,一些简单的起码会看了。

1、匹配符表示一个字符匹配情况

如具体的字符,\d表示数字,\w表示字母数字和下划线和数字,.(点)表示任意字符,\s表示空白符如空格和制表符,\t表示制表符等。

[]中括号中可以列举可能出现的字符,如[0-9],[a-z],[+-.],中括号中的字符就是具体的字符,没有特别含义。

2、限定符表示前面匹配符的匹配程度

+表示匹配至少1次,*表示任意次包括0次,?表示匹配0次或1次。

{n,m}这种形式表示至少匹配n次,最多m次,m不写表示不限定最大次数

上面的匹配都可以用这种形式表示,比如+={1,}、*={0,}、?={0,1},只是上面的形式比较简单而已。

3、特殊符号

^表示开头,$表示结尾,|表示或,即竖线两边的值可以任选一边。

()用于分组,括号中的值表示一种匹配模式,括号外可以跟限定符表示匹配程度。

===================================

最后,用几个常见的表达式案例说明上面的小结:

1 .校验身份证号码

下面是身份证号码的正则校验。15 或 18位。

15位:

^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$

18位:
^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$


2. 校验日期

“yyyy-mm-dd“ 格式的日期校验

10位:^\d{4}-\d{2}-\d{2}$

考虑到首位是0可以不写的话:^\d{1,4}-\d{1,2}-\d{1,2}$

复杂一点,按上面身份证上的日期匹配方法

^\d{4}-((0\d)|(1[0-2]))-(([0|1|2]\d)|3[0-1])$


3. 校验金额

金额校验,精确到2位小数。
^[0-9]+(.[0-9]{2})?$


4. 校验手机号

下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)
^(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. Email地址

^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$


网上有很多现成的表达式,可以对照着看。

猜你在找的正则表达式相关文章