# 正则相关
# 说说你对正则表达式的理解?它会有哪些应用场景?
正则表达式是一种用来匹配字符串的强有力的武器 它的设计思想是用一种描述性的语言定义一个规则,凡是符合规则的字符串,我们就认为它“匹配”了,否则,该字符串就是不合法的
- 具有特殊意义的元字符
\d匹配0-9的数字,相当于[0-9]\D匹配除了0-9的任意字符\w匹配0-9、a-z、A-Z、_ 的数字或字符,相当于[0-9a-zA-Z_]\W匹配不是字母、数字、下划线的字符\n匹配换行^匹配字符串的开始位置$匹配字符串的结束位置\转义字符
- 限定元字符
+重复1次或更多次, 相当于{1,}?重复0次或1次, 相当于{0,1}*重复任意次, 相当于{0,}{n}重复n次{n,}重复n次或者大于n次{n,m}重复n到m次
- 其他
x | yx或者y[xyz]x、y、z中的任意一个 例:[abc] 可以匹配add中的a[^xyz]除了xyz中的任意一个字符 例:[abc] 可以匹配add中的dd[a-z]匹配a-z中的任意一个字符[^a-z]匹配除了a-z中的任意一个字符()将括号里面的字符作为整体进行匹配, 括号里面的内容是一个子表达式或者叫分组
- 验证电话
/^1[3456789]\d{9}$/.test(phone)
- 验证邮箱
/^([a-zA-Z]|[0-9])(\w|-)+@[a-zA-Z0-9]+.([a-zA-Z]{2,4})$/.test(email)