- 正则表达式
- 定义:通过正则规定的语法,写出一个表达式,利用该表达式对字符串进行检验、过滤、查找等,总之它就是处理字符串的一种特定语法。
- 1.字面量形式创建正则表达式:var reg=/string/g (g是全局匹配,经多次调用可以查找到所有满足条件的数据,不添加g,不管调用多少次都是返回第一个符合条件的数据)
- 2.构造函数的形式创建正则表达式:var reg=new RegExp(/hello/);
- 1.边界符 开头^ 结尾$
- 2.字符集 [ ] 一系列的字符中匹配一个即可
- 3.修饰符 i 和修饰符g的位置一样,g表示全局匹配,i表示不区分大小写
- 4.匹配一位数字 \d
- 5.匹配数字或字母 \w
- 6.取反 [^ ]
- 7.字符至少出现过一次 + 使用方式/qwe+/
- 8.{min,max} 限定字符出现次数的范围
- 9.贪婪匹配 .* 匹配任意多个字符
- 10.非贪婪匹配 .*?
- 11.分组 ()对将要匹配的数据进行分组 /:(.*?),/g
- 12.IP规则
- 13. | 或
- 字符串中可以使用的正则方法
正则表达式
定义:通过正则规定的语法,写出一个表达式,利用该表达式对字符串进行检验、过滤、查找等,总之它就是处理字符串的一种特定语法。
1.字面量形式创建正则表达式:var reg=/string/g (g是全局匹配,经多次调用可以查找到所有满足条件的数据,不添加g,不管调用多少次都是返回第一个符合条件的数据)
2.构造函数的形式创建正则表达式:var reg=new RegExp(/hello/);
正则表达式方法
- test()检测某个字符串是否符合指定规则,返回布尔值
exec()检测的字符串有满足指定规则的字符,返回数组,否则返回null
1.边界符 开头^ 结尾$
2.字符集 [ ] 一系列的字符中匹配一个即可
3.修饰符 i 和修饰符g的位置一样,g表示全局匹配,i表示不区分大小写
4.匹配一位数字 \d
5.匹配数字或字母 \w
6.取反 [^ ]
7.字符至少出现过一次 + 使用方式/qwe+/
8.{min,max} 限定字符出现次数的范围
{1,3} 出现1或2或3个数字
{3} 出现3个数字
{3,}至少出现3个数字
9.贪婪匹配 .* 匹配任意多个字符
10.非贪婪匹配 .*?
11.分组 ()对将要匹配的数据进行分组 /:(.*?),/g
12.IP规则
13. | 或
字符串中可以使用的正则方法
1.replace(需要被替换的字符,需要替换成的字符) 如str.replace(/[毒品|打架|骂人|斗殴]/g ,’*‘)
2.math 数组。match(正则替换敏感词汇)
// 1.replace
var str = '你好,毒品,呵呵,好好吕布啊v斗殴都可能发表v发打架,毒药v那开发v被罚款部分v傻子'
var reg = /毒品|斗殴|打架|毒药|傻子/g
console.log(str.replace(reg,'*'));
// 根据敏感词汇的长度,动态设置*的数量
reg = /毒品|毒|斗殴|打架|傻/g;
var result = str.replace(reg,function(v){
console.log(v); //指匹配到的敏感性词汇
var s = '';
for(var i=0;i<v.length;i++){
s+='*'
}
return s;
});
console.log(result);
// 2. match 将匹配到的数据提取出来, 返回数组
str = '1232qq.com,fgabgtvrusina.com,vnsfibs163.com';
reg = /qq|sina|163|vns/g;
console.log(str.match(reg)); // ['qq', 'sina', '163']