时间:2019/11/5
4.正则表达式
1).正则表达式概述
2).JS中正则表达式(正则表达式中不需加引号)
// 1.利用RegExp对象创建
var regexp = new RegExp(/123/);
var regexp = new RegExp('123');
// 2.利用字面量创建
var rg = /123/;
// 3.test方法用来检测字符串是否符合正则表达式要求的规范
rg.test(123); // true
rg.test('abc'); // false
3).正则表达式中的特殊字符
1.边界符
^ 表示匹配行首的文本
$ 表示匹配行尾的文本
两者结合表示精确匹配
2.字符类
[ ] 表示有一系列字符可供选择,只要匹配其中一个就可以,多选一
/[abc]/ 包含a或b或c中任意
/^[abc]$/ 只能为a或b或c
/^[a-z]$/ 26个小写英文字母中的一个
/^[a-zA-Z0-9_-]$/ 字符组合(英文字母,数字,以及下划线,短横线)
/^[^a-zA-Z0-9_-]$/ [ ]内^取反符,表示不包含
3.量词符
* 可以出现0次或很多次
+ 可以出现1次或很多次
? 可以出现0次或1次
{ } 重复次数({3}次数为3;{3, }次数大于等于3;{3,16}次数大于等于3且小于等于16)
/^[a-zA-Z0-9_-]{6,16}$/
4.小括号()表示优先级
/^abc{3}$/ // 匹配abccc
/^(abc){3}$/ // 匹配abcabc
5.预定义类(某些模式的简写方式)
6.表单验证案例
4).正则表达式中的替换
stringObject.replace(regexp/substr, replacement); // 返回替换后的新字符串
1.正则表达式参数
/表达式/[switch]
switch: g(全局匹配); i(忽略大小写); gi(全局匹配且忽略大小写)
str.replace(/敏感词1|敏感词2/g, '*'); // 敏感词替换