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中style属性
Oct 11 Javascript
javascript 客户端验证上传图片的大小(兼容IE和火狐)
Aug 15 Javascript
document.getElementById获取控件对象为空的解决方法
Nov 20 Javascript
多个$(document).ready()的执行顺序实例分析
Jul 26 Javascript
jquery获得同源iframe内body下标签的值的方法
Sep 25 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
深入理解JavaScript的React框架的原理
Jul 02 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
Apr 29 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
H5 js点击按钮复制文本到粘贴板
Nov 19 Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 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 socke 向指定页面提交数据
2008/07/23 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
php实现的通用图片处理类
2015/03/24 PHP
利用PHP如何写APP接口详解
2016/08/23 PHP
javascript indexOf函数使用说明
2008/07/03 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
JavaScript实现的GBK、UTF8字符串实际长度计算函数
2014/08/27 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
基于JS实现的倒计时程序实例
2015/07/24 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
微信小程序开发之录音机 音频播放 动画实例 (真机可用)
2016/12/08 Javascript
Bootstrap3 内联单选和多选框
2016/12/29 Javascript
随机生成10个不重复的0-100的数字(实例讲解)
2017/08/16 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[02:27]刀塔重生降临
2015/10/14 DOTA
跟老齐学Python之重回函数
2014/10/10 Python
python实现合并两个数组的方法
2015/05/16 Python
Python基于scapy实现修改IP发送请求的方法示例
2017/07/08 Python
调试Django时打印SQL语句的日志代码实例
2019/09/12 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
python生成任意频率正弦波方式
2020/02/25 Python
String和StringBuffer的区别
2015/08/13 面试题
解除劳动合同证明书模板
2014/11/20 职场文书
初三英语教学计划
2015/01/23 职场文书
小浪底导游词
2015/02/12 职场文书
入学证明
2015/06/23 职场文书
个人合作协议范本
2015/08/06 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
2016年小学“我们的节日·中秋节”活动总结
2016/04/05 职场文书
2019最新激励员工口号大全!
2019/06/28 职场文书
解决hive中导入text文件遇到的坑
2021/04/07 Python
看完这篇文章获得一些java if优化技巧
2021/07/15 Java/Android