查找字符串中包含敏感词的位置和内容的方法
1.检索一个固定的关键词出现的位置
var i=str.indexOf('关键词')
注意:默认从0开始,默认仅能查找第一次出现的位置。
var i=str.indexOf('关键词',fromi);
注意:从指定位置的开始下一个位置开始查找
如果找不到就返回-1,如果找到返回位置下标。
查找所有关键词的方法
var i=-1;
while((i=str.indexOf('关键词',i+1))!=-1){
i//本次找到的关键词的位置
}
问题:只能查找固定的关键词
2.判断字符串中是否包含符合正则的敏感词
var i=str.search(/正则/);
如果找不到返回-1,找到返回位置下标。
问题:仅能返回位置,无法返回关键词内容,仅能找到第一个关键词的位置无法向后查找
3.返回所有字符串的内容
var i=str.match(/正则/);
查找str中所有符合正则表达式要求的关键词,保存在一个数组中返回
问题:正则默认仅匹配第一个关键词,且区分大小写
解决:找全部:
var i=str.match(/正则/g);
忽略大小写
var i=str.match(/正则/i);
var str="No zuo no die";
var result=str.match(/no/gi);
console.log(result);