js使用正则实现ReplaceAll全部替换的方法


Posted in Javascript onJuly 18, 2014

JS 字符串有replace() 方法。但这个方法只会对匹配到的第一个字串替换。 如下例:

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>

<BODY>
<script>
var str = "wordwordwordword";
var strNew = str.replace("word","Excel");
alert(strNew);
</script>
</BODY>
</HTML>

如果要全部替换的话,JS 没有提供replaceAll这样的方法。使用正则可以达成Replace 的效果:

str.replace(/word/g,"Excel")g 的意义是:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

<HEAD>
<TITLE> New Document </TITLE>
<script>
function replaceAll(str)
{
if(str!=null)
str = str.replace(/word/g,"Excel")
return str;
}
</script>
</HEAD>

<BODY>
<script>
var str = "wordwordwordword";
var strNew = str.replace("word","Excel");
strNew = replaceAll(str);
alert(strNew);
</script>
</BODY>
</HTML>

以上写法有个类同的写法:

str.replace(new RegExp("word","gm"),"Excel")g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。

m 执行多行匹配。

除此之外,也可以添加 Stirng对象的原型方法:

String.prototype.replaceAll = function(s1,s2){ 
return this.replace(new RegExp(s1,"gm"),s2); 
}

这样就可以像使用replace 方法一样使用replaceAll了

str.replaceAll("word","Excel");总结一下, 三种方式

1. str.replace(/oldString/g,newString)

2. str.replace(new RegExp(oldString,"gm"),newString)

3. 增加String 对象原型方法 replaceAll

Javascript 相关文章推荐
js中document.getElementByid、document.all和document.layers区分介绍
Dec 08 Javascript
获取数组中最大最小值方法js代码(自写)
Aug 12 Javascript
JS实现一键回顶功能示例代码
Oct 28 Javascript
JS将光标聚焦在文本最后的实现代码
Mar 28 Javascript
angularjs基础教程
Dec 25 Javascript
jQuery中removeData()方法用法实例
Dec 27 Javascript
JavaScript中的函数嵌套使用
Jun 04 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
Nov 10 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
Dec 13 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
100行代码实现vue表单校验功能(小白自编)
Nov 19 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
Jul 18 #Javascript
关于javaScript注册click事件传递参数的不成功问题
Jul 18 #Javascript
Javascript验证上传图片大小[前台处理]
Jul 18 #Javascript
IE中JS跳转丢失referrer问题的2个解决方法
Jul 18 #Javascript
JavaScript中的document.referrer在各种浏览器测试结果
Jul 18 #Javascript
javascript的document.referrer浏览器支持、失效情况总结
Jul 18 #Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
Jul 18 #Javascript
You might like
星际原理概述
2020/03/04 星际争霸
destoon切换城市后实现logo旁边显示地区名称的方法
2014/08/21 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
深入解析PHP的Yii框架中的缓存功能
2016/03/29 PHP
PHP7新增运算符用法实例分析
2016/09/26 PHP
PHP实现电商订单自动确认收货redis队列
2017/05/17 PHP
phpfpm的作用和用法
2019/10/10 PHP
Javascript 函数对象的多重身份
2009/06/28 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
浏览器兼容性问题大汇总
2015/12/17 Javascript
JavaScript中匿名函数的用法及优缺点详解
2016/06/01 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
Python设计模式编程中Adapter适配器模式的使用实例
2016/03/02 Python
python+matplotlib绘制3D条形图实例代码
2018/01/17 Python
Python3 中文文件读写方法
2018/01/23 Python
python实现聚类算法原理
2018/02/12 Python
使用python实现离散时间傅里叶变换的方法
2019/09/02 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
pip安装tensorflow的坑的解决
2020/04/19 Python
基于Python词云分析政府工作报告关键词
2020/06/02 Python
一款基于css3的动画按钮代码教程
2014/11/23 HTML / CSS
美国瑜伽服装和装备购物网站:Mukha Yoga
2019/02/22 全球购物
Bravofly德国:预订廉价航班和酒店
2019/09/22 全球购物
毕业自我鉴定书
2014/03/24 职场文书
生活小常识广播稿
2014/09/16 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
查摆问题整改措施
2014/10/24 职场文书
投标承诺函格式
2015/01/21 职场文书
感谢信怎么写
2015/01/21 职场文书
杜甫草堂导游词
2015/02/03 职场文书
小学语文新课改心得体会
2016/01/22 职场文书
Nginx代理同域名前后端分离项目的完整步骤
2021/03/31 Servers