JavaScript中replace()方法使用时应该注意的几点

本文详细记录了JavaScript中replace方法使用时需要注意的几个关键点,包括正则表达式的使用、函数作为替换参数的应用以及方法返回值的特点。通过实例演示帮助开发者避免常见错误,提升代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JavaScript中自带标准库中的replace方法使用时的几点注意

       关于具体使用的方式参加W3School给出的API http://www.w3school.com.cn/jsref/jsref_replace.asp。本文主要是记录几点我们使用时需要注意的地方:

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

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

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

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

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

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

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

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

     str.replace(reg1,function(word){ 
            var _attr=word.replace(reg2,替换的字符串); 
            return _attr; });

其中,函数中的参数 word 是与 reg1 匹配的字符串

5.使用replace方法进行替换时,并不会改变原来的那个String对象的值,其返回值是一个新的String对象。例如 : var str = '12345'; 

console.log(str.replace('1', '7')); 

console.log(str);
输出: 72345 12345 (测试环境为chrome)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值