一、String类中的方法
1、match()方法
match()方法:根据正则匹配出所有符合要求的内容匹配成功后将其保存到数组中,匹配失败则返回false。
案例演示:
var str = "It's is the shorthand of it is";
var reg1 = /it/gi;
str.match(reg1); // 匹配结果:(2) ["It", "it"]
var reg2 = /^it/gi;
str.match(reg2); // 匹配结果:["It"]
var reg3 = /s/gi;
str.match(reg3); // 匹配结果:(4) ["s", "s", "s", "s"]
var reg4 = /s$/gi;
str.match(reg4); // 匹配结果:["s"]
2、search()方法
search()方法:search()方法可以返回指定模式的子串在字符串首次出现的位置,相对于indexOf()方法来说功能更强大。
案例演示:
var str = '123*abc.456';
console.log(str.search('.*')); // 输出结果:0
console.log(str.search(/[\.\*]/)); // 输出结果:3
3、 split()方法
split()方法:split()方法用于根据指定的分隔符将一个字符串分割成字符串数组,其分割后的字符串数组中不包括分隔符。
案例演示:按照字符串中的“@”和“.”两种分隔符进行分割。
var str = 'test@123.com';
var reg = /[@\.]/;
var split_res = str.split(reg);
console.log(split_res); // 输出结果:(3) ["test", "123", "com"]
4、 replace()方法
replace()方法:replace()方法用于替换字符串,用来操作的参数可以是一个字符串或正则表达式。
案例演示:
var str = 'Regular Capture';
var reg = /(\w+)\s(\w+)/gi;
var newstr = str.replace(reg, '$2 $1');
console.log(newstr); // 输出结果为:Capture Regular
5、【案例】查找并替换敏感词
案例实现:
<div>过滤前内容:<br>
<textarea id="pre" rows="10" cols="40"></textarea>
<input id="btn" type="button" value="过滤">
</div>
<div>过滤后内容:<br>
<textarea id="res" rows="10" cols="40"></textarea>
</div>
<script>
document.getElementById('btn').onclick = function() {
// 定义查找并需要替换的内容规则,[\u4e00-\u9fa5]表示匹配任意中文字符
var reg = /(bad)|[\u4e00-\u9fa5]/gi;
var str = document.getElementById('pre').value;
var newstr = str.replace(reg, '*');
document.getElementById('res').innerHTML = newstr;
};
</script>