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 相关文章推荐
jquery实现页面虚拟键盘特效
Aug 08 Javascript
原生js实现jquery函数animate()动画效果的简单实例
Aug 21 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
Sep 27 Javascript
js HTML5手机刮刮乐代码
Sep 29 Javascript
web前端开发upload上传头像js示例代码
Oct 22 Javascript
jQuery实现两个select控件的互移操作
Dec 22 Javascript
.net MVC+Bootstrap下使用localResizeIMG上传图片
Apr 21 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
原生JS控制多个滚动条同步跟随滚动效果
Dec 22 Javascript
js判断文件类型大小并给出提示的实现方法
Jan 03 Javascript
关于layui 弹出层一闪而过就消失的解决方法
Sep 09 Javascript
js实现九宫格布局效果
May 28 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
全国FM电台频率大全 - 28 甘肃省
2020/03/11 无线电
php读取数据库信息的几种方法
2008/05/24 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
smarty模板中拼接字符串的方法
2014/02/14 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
js复制到剪切板的实例方法
2013/06/28 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
jQuery实现弹窗居中效果类似alert()
2017/02/27 Javascript
vue2.0 自定义日期时间过滤器
2017/06/07 Javascript
Node.js 8 中的重要新特性
2017/06/28 Javascript
Vue异步加载about组件
2017/10/31 Javascript
Vue中render方法的使用详解
2018/01/26 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
2019/09/26 Javascript
vue的hash值原理也是table切换实例代码
2020/12/14 Vue.js
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
python自动化测试实例解析
2014/09/28 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Django实现组合搜索的方法示例
2018/01/23 Python
python写日志文件操作类与应用示例
2019/07/01 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
python 如何引入协程和原理分析
2020/11/30 Python
美国蔬菜和植物种子公司:Burpee
2017/02/01 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
别名指示符是什么
2012/10/08 面试题
新教师培训方案
2014/06/08 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
2014银行领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
优秀党支部申报材料
2014/12/24 职场文书
销售督导岗位职责
2015/04/10 职场文书
违纪开除通知书
2015/04/25 职场文书
2015年行风建设工作总结
2015/05/15 职场文书
MySQL 执行数据库更新update操作的时候数据库卡死了
2022/05/02 MySQL