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 相关文章推荐
ASP 过滤数组重复数据函数(加强版)
May 31 Javascript
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
Jun 28 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
Mar 22 Javascript
ajax在兼容模式下失效的快速解决方法
Mar 22 Javascript
AngulerJS学习之按需动态加载文件
Feb 13 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
Nov 03 Javascript
微信小程序数据分析之自定义分析的实现
Aug 17 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
Feb 13 Javascript
在layui中select更改后生效的方法
Sep 05 Javascript
vue中 this.$set的用法详解
Sep 06 Javascript
详解Howler.js Web音频播放终极解决方案
Aug 23 Javascript
JavaScript中关于预编译、作用域链和闭包的理解
Mar 31 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/03 日漫
discuz7 phpMysql操作类
2009/06/21 PHP
ThinkPHP与PHPExcel冲突解决方法
2011/08/08 PHP
php中多维数组按指定value排序的实现代码
2014/08/19 PHP
找到一点可怜的关于dojo资料,谢谢作者!
2006/12/06 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
jQuery 瀑布流 绝对定位布局(二)(延迟AJAX加载图片)
2012/05/23 Javascript
GRID拖拽行的实例代码
2013/07/18 Javascript
JS性能优化笔记搜索整理
2013/08/21 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
javascript生成不重复的随机数
2015/07/17 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
node.js中实现kindEditor图片上传功能的方法教程
2017/04/26 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
python中关于日期时间处理的问答集锦
2013/03/08 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python生成词云的实现方法(推荐)
2017/06/13 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
利用python计算时间差(返回天数)
2019/09/07 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
网络工程专业大学生求职信
2014/10/01 职场文书
2014年招生工作总结
2014/11/26 职场文书
学生个人评语大全
2015/01/04 职场文书
学期个人工作总结
2015/02/13 职场文书
2015年消防工作总结
2015/04/24 职场文书
煤矿百日安全活动总结
2015/05/07 职场文书
python程序的组织结构详解
2021/12/06 Python