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系列(10) JavaScript核心(晋级高手必读篇)
Jan 15 Javascript
基于jquery的固定表头和列头的代码
May 03 Javascript
jQuery动态添加 input type=file的实现代码
Jun 14 Javascript
基于javascript实现checkbox复选框实例代码
Jan 28 Javascript
第八篇Bootstrap下拉菜单实例代码
Jun 21 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
Jan 06 Javascript
常用jQuery选择器汇总
Feb 02 Javascript
JavaScript的六种继承方式(推荐)
Jun 26 Javascript
Javascript中 toFixed四舍六入方法
Aug 21 Javascript
微信小程序实现简单input正则表达式验证功能示例
Nov 30 Javascript
Vue.js 事件修饰符的使用教程
Nov 01 Javascript
JavaScript实现单点登录的示例
Sep 23 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
PHP COOKIE设置为浏览器进程
2009/06/21 PHP
php UTF-8、Unicode和BOM问题
2010/05/18 PHP
php-fpm配置详解
2014/02/12 PHP
php使用pclzip类实现文件压缩的方法(附pclzip类下载地址)
2016/04/30 PHP
javascript void(0)的妙用
2009/10/21 Javascript
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
jquery实现动态菜单的实例代码
2013/11/28 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
JS判断移动端访问设备并加载对应CSS样式
2014/06/13 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
在JavaScript中操作数组之map()方法的使用
2015/06/09 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
详解Javascript 中的 class、构造函数、工厂函数
2017/12/20 Javascript
iview中Select 选择器多选校验方法
2018/03/15 Javascript
Vue表情输入组件 微信face表情组件
2019/02/11 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
Python学生信息管理系统修改版
2018/03/13 Python
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
台湾生鲜宅配:大口市集
2017/10/14 全球购物
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
自我鉴定范文200字
2013/10/02 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
借款协议书
2014/09/16 职场文书
土地租赁协议书
2015/01/29 职场文书
单位介绍信格式范文
2015/05/04 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
JavaScript canvas实现流星特效
2021/05/20 Javascript
pytorch中的model.eval()和BN层的使用
2021/05/22 Python