Js 正则表达式
什么是正则表达式:字符串中字符出现的规律。
何时使用正则表达式?
1.验证字符串格式
2.查找关键字
3.替换关键字
比如:银行卡查询密码:6位数字
用户名:字母,数字,下划线的组合。
正则表达式:
选择符号:[所有备选字符]:[去草],必须多选一使用
一个[],只能代表1位字符 只能多选一 一个[]只能匹配一位字符
比如:我[去草]:我去 我草 我去去/我草草 不能匹配 改成 我[去草][去草] 即可匹配
[]内 :
开头 ^ :除了XX 都行:[01235689]--->[^47] 它俩是等价的
- :表示备选符号的范围:[a-z] [0-9] [A-Z]
预定义字符集:
[0-9] --> \d
[a-zA-z] --> \w
\s:空字符 :\n \t 空格
量词:修饰前一位字符出现的次数
{min,max}:最少min个,最多max个
{min,}:最少min个,最多不限
{num}:固定num个长度
验证座机号码: \d{3,4}-\d{7,8} 以下会被选中
010-82838283
0311-12345678
0311-1234567
验证身份证号码:\d{15}(\d{2}[0-9xX])?
验证手机号码:(\+86)?\s+1[345879]\d{9}
特殊数量词: + * ?
?:可有可无,最多能出现一次
比如:我了?去 我去 我勒个去X 我了了去
*:可有可无,不限制出现次数
比如:点亮我生命的火*
点亮我生命的
点亮我生命的火
点亮我生命的火火火
+:至少出现一次!不限制出现次数
比如:点亮我生命的火+
点亮我生命的火
点亮我生命的火火火火
()分组:改变模式的匹配顺序
如果正文中 出现 + * ? 都需要 \ 转义