正则表达式(三)

一、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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值