正则表达式

正则表达式

手机号码

/^1[34578]\d{9}$/g

  1. 把模式写入一对正斜杠里面
  2. 用小箭头规定必须以某字符打头^
  3. 用中括号限制一个字符可以匹配哪些字符,只可以匹配其中一个字符
  4. \d 表示所有的数字
  5. {9}大括号里面表示前一个匹配规则可以重复的次数
  6. $表示以前面一个匹配规则结束
  7. /g 表示全局模式,表示查找字符串的全部内容,而不是找到第一个就完事了

QQ号码

/^ [1-9] [0-9] {4,9} $/g

  1. 用横杠来表示可选数字范围
  2. 大括号里面可以设置前一个匹配规则可以重复次数的范围

十六进制颜色

/#?([0-9a-fA-F]{6} | [0-9a-fA-F]{3})$/g

  1. | 表示或者
  2. ?表示前一个匹配规则可有可无
  3. ()可以表示一个计算单元

邮箱规格

/^([A-Za-z0-9_\ - \ . ] +) @ ([A-Za-z0-9\ - \ . ]+) \ . ([A-Za-z] {2,6})$/g

  1. \ 用于转义,如果使用-等本身就是在正则中用到的符号,需要用它的正体的时候就要转义
  2. . 在正则里面可以匹配除了换行符以外的所有字符
  3. +表示至少一个字符到无限个字符的范围

url

/ ^((https? | ftp | file) : / / )? ([\da-z \ . \ - ]+) \ . ([a-z\ .]{2,6}) ([/\w\ .\ -]* )* /?$/g

  1. \w 匹配任何文字字符,包括文字数字和下横线
  2. *表示0到无穷大

html标签

/ ^<([a-z]+) ( [ ^ >]+)* (>(.*)</\1> | \s+/>)$ /gm

  1. /m表示匹配多行
  2. [^ ]中括号内^加上一个字符,匹配除了该字符以外的字符
  3. \加上数字表示引用前面括号包括起来的组
  4. \s 表示空格
  5. ?: 出现在括号的开头表示不需要捕获该组,但是不影响组里面的组

ip地址

/^(([01]?[0-9] [0-9]? | 2[0-4] [0-9] | 25[0-5])\ . ){3}([01]?[0-9] [0-9]? | 2[0-4] [0-9] | 25[0-5])/gm

  1. 匹配数字范围的技巧: 0-255,可以表示为0-199然后200-249 , 250-255

日期

/ ^ [0-9]{4} - (0[1-9] | 1[1-2])-(0[1-9] | [12] [0-9] | 3[01])/gm

身份证

/ ^ [1-9] [0-9] {5} (18 | 19 | ([23] [0-9])) [0-9]{2} (0[1-9] | 1[0-2]) (0[1-9] | [12] [0-9] | 3[01] ) [0-9]{3}[0-9Xx]$/gm

其他

  1. 匹配所有非空格的字符
posted @ 2022-04-09 15:11  kihyun  阅读(32)  评论(0编辑  收藏  举报