正则表达式
1.正则表达式在js中的使用
正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式
1.1 创建正则表达式
- 通过调用 RegExp 对象的构造函数创建
var 变量名 = new RegExp(/表达式/);
- 通过字面量创建
var 变量名 = /表达式/;
1.2 测试正则表达式 test
regexObj.test(str) //返回true | false
regexObj:正则表达式
str:检测的字符串
2.正则表达式中的特殊字符
2.1 正则表达式的组成
2.2 边界符
用来提示字符所处的位置
如果 ^ 和 $ 在一起,表示必须是精确匹配。
2.3 字符类
所有可供选择的字符都放在方括号内
- [] 方括号
/[abc]/.test('andy') // 包含 abc 中任意一个字符,则返回true
- [-] 方括号内部 范围符-
/^[a-z]$/.test(c') // a 到 z 26个英文字母中一个,则返回true
- [^] 方括号内部 ,取反符^写在方括号内部
/[^abc]/.test('andy') // 只要包含方括号内的字符,都返回 false
- 字符组合
/[a-zA-Z1-9]/.test('andy') // 包含a 到 z、A到Z 的26个字母和 1 到 9 的数字,返回true
2.4 量词符
2.5 括号总结
- 大括号 量词符. 里面表示重复次数
- 中括号 字符集合。匹配方括号中的任意字符.
- 小括号 表示优先级
可以在线测试: https://c.runoob.com/
2.6 预定义类
预定义类指的是某些常见模式的简写方式。
3. 正则表达式中的替换
3.1 replace 替换
实现替换字符串操作,用来替换的参数可以是一个字符串或是一个正则表达式。
stringObject.replace(regexp/substr,replacement)
- 第一个参数: 被替换的字符串 或者 正则表达式
- 第二个参数: 替换为的字符串
- 返回值是一个替换完毕的新字符串
3.2 正则表达式参数
/表达式/[switch]
g:全局匹配
i:忽略大小写
gi:全局匹配 + 忽略大小写
案例:敏感词过滤