Skip to content

Latest commit

 

History

History
44 lines (32 loc) · 1.67 KB

210302.md

File metadata and controls

44 lines (32 loc) · 1.67 KB

常用正则表达式及解析

1.手机验证

/^1[345678]\d{9}$/

解析

  1. ^1: 以1开头的字符串
  2. [3456789]: 第二位在3到9的范围内的一个
  3. \d{9}: 任意数字(\d)重复9遍
  4. 加^...$的话就代表把整个要匹配的字符串当成一个整体做一次匹配,而不加则一个字符串可以匹配多次。例如 13333333332 有12位如果不加 $,会匹配到前面11位,加了 $ 则不会匹配,因为整体不匹配。

2.邮箱验证

/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/

解析

  1. ^[a-zA-Z0-9_-]+: 以该[]范围内的值开头,且至少出现一次
  2. @: 必须有@符号
  3. [a-zA-Z0-9_-]+: 该[]范围内的值且至少出现一次
  4. (\.[a-zA-Z0-9_-]+)+$: ()内表示,以.开头的无论大小写英文和数字出现一次以上 如 .com,()外+$表示整个括号里面的内容也可以出现一次以上,如 .com.cn
  5. 加^...$的话就代表把整个要匹配的字符串当成一个整体做一次匹配,而不加则一个字符串可以匹配多次

3. 匹配汉字

^[\u4e00-\u9fa5]{0,}$


4. 非零开头的最多带两位小数的数字,如:0.23

^([1-9][0-9]*)+(.[0-9]{1,2})?$

解析

  1. ^([1-9][0-9]*)+第一个括号()的子表达式:以非零开头的数字出现一次以上
  2. (.[0-9]{1,2})?$第二个括号的子表达式:以.开头的数字出现1到2次,?代表出现0次或者1次

5. 匹配密码

^[a-zA-Z]\w{5,17}$

解析

  1. 以字母开头,长度在6~18之间,只能包含字母、数字和下划线
  2. \w: 表示字母或数字,等价于 [a-zA-Z0-9_]