js中replace()方法使用注意

1.如果正则表达式中设置了修饰符g,那么源字符串中所有与模式匹配的子串都将替换成第二个参数指定的字符串;如果不带修饰符g,则只替换所有匹配的第一个子串。

2.replace()的第一个参数若是字符串而不是正则表达式,则replace()将直接搜索这个字符串

eg. text.replace(/javascript/gi,"JavaScript");  // 将所有不区分大小写的javascript都替换成JavaScript

3.正则表达式中使用圆括号括起来的子表达式是带有从左到右的索引编号的,而且正则表达式会记忆与每个子表达式匹配的文本,如果在替换字符串中出现了$加数字,那么replace()将用与指定的子表达式相匹配的文本来替换这两个字符。

eg. var quote = /"([^"]*)"/g;   //一段用双引号括起来的文本,且中间内容区域不能包含引号

      text.replace(quote,'“$1”');  //用中文引号替换英文引号,同时保持引号之间的内容(存储在$1中)没有被修改

4.replace()方法的第二个参数可以是函数

eg.   //使用函数动态生成的字符串_attr来替换

    text.replace(正则表达式1,function(word){
            var _attr=word.replace(正则表达式2,替换的字符串);
            return _attr; });

其中,函数中的参数 word 是与 正则表达式1 匹配的字符串


转载于:https://my.oschina.net/cindy89/blog/289444

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值