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 相关文章推荐
javascript重写alert方法的实例代码
Mar 29 Javascript
含有CKEditor的表单如何提交
Jan 09 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
Feb 04 Javascript
web前端开发upload上传头像js示例代码
Oct 22 Javascript
jsTree事件和交互以及插件plugins详解
Aug 29 Javascript
解决vue处理axios post请求传参的问题
Mar 05 Javascript
VUE在for循环里面根据内容值动态的加入class值的方法
Aug 12 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
详解如何在Vue项目中发送jsonp请求
Oct 25 Javascript
基于Vue的侧边目录组件的实现
Feb 05 Javascript
详解vue v-model
Aug 31 Javascript
vue二维数组循环嵌套方式 循环数组、循环嵌套数组
Apr 24 Vue.js
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
php 之 没有mysql支持时的替代方案
2006/10/09 PHP
PHP中str_replace函数使用小结
2008/10/11 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
实例简介PHP的一些高级面向对象编程的特性
2015/11/27 PHP
thinkphp3.x中变量的获取和过滤方法详解
2016/05/20 PHP
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
2011/10/12 Javascript
js比较和逻辑运算符的介绍
2013/03/10 Javascript
Angular实现form自动布局
2016/01/28 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
ES6新数据结构Set与WeakSet用法分析
2017/03/31 Javascript
Node.js中的require.resolve方法使用简介
2017/04/23 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
微信小程序功能之全屏滚动效果的实现代码
2018/11/22 Javascript
vue--vuex详解
2019/04/15 Javascript
vue 解决setTimeOut和setInterval函数无效报错的问题
2020/07/30 Javascript
vue中v-model对select的绑定操作
2020/08/31 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
python实战教程之自动扫雷
2018/07/13 Python
Python使用googletrans报错的解决方法
2018/09/25 Python
基于Numpy.convolve使用Python实现滑动平均滤波的思路详解
2019/05/16 Python
pandas如何处理缺失值
2019/07/31 Python
python框架flask表单实现详解
2019/11/04 Python
python GUI库图形界面开发之PyQt5不规则窗口实现与显示GIF动画的详细方法与实例
2020/03/09 Python
python装饰器代码深入讲解
2021/03/01 Python
泰国第一的化妆品网站:Konvy
2018/02/25 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
shell的种类有哪些
2015/04/15 面试题
水电工岗位职责
2014/02/12 职场文书
优秀员工获奖感言
2014/03/01 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python