JS中实现replaceAll的方法(实例代码)


Posted in Javascript onNovember 12, 2013

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符.
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。

replace()
The replace() method returns the string that results when you replace text matching its first argument
(a regular expression) with the text of the second argument (a string).
If the g (global) flag is not set in the regular expression declaration, this method replaces only the first
occurrence of the pattern. For example,

var s = "Hello. Regexps are fun.";s = s.replace(/\./, "!"); // replace first period with an exclamation pointalert(s);

produces the string “Hello! Regexps are fun.” Including the g flag will cause the interpreter to
perform a global replace, finding and replacing every matching substring. For example,

var s = "Hello. Regexps are fun.";s = s.replace(/\./g, "!"); // replace all periods with exclamation pointsalert(s);

yields this result: “Hello! Regexps are fun!”

所以可以用以下几种方式.:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);

string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。

<script type="text/javascript">  
String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {  
    if (!RegExp.prototype.isPrototypeOf(reallyDo)) {  
        return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);  
    } else {  
        return this.replace(reallyDo, replaceWith);  
    }  
}  
</script> 
Javascript 相关文章推荐
js中的布尔运算符使用介绍
Nov 20 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
详解AngularJS中的表达式使用
Jun 16 Javascript
浅谈js内置对象Math的属性和方法(推荐)
Sep 19 Javascript
Bootstrap导航条学习使用(一)
Feb 08 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
Mar 23 jQuery
JavaScript 事件流、事件处理程序及事件对象总结
Apr 01 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
使用validate.js实现表单数据提交前的验证方法
Sep 04 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 Javascript
详解前端任务构建利器Gulp.js使用指南
Apr 30 Javascript
jquery.validate的使用说明介绍
Nov 12 #Javascript
javascript 函数及作用域总结介绍
Nov 12 #Javascript
Javascript之this关键字深入解析
Nov 12 #Javascript
js hover 定时器(实例代码)
Nov 12 #Javascript
JavaScript的setAttribute兼容性问题解决方法
Nov 11 #Javascript
javascript实用小函数使用介绍
Nov 11 #Javascript
JavaScript动态插入script的基本思路及实现函数
Nov 11 #Javascript
You might like
两种php调用Java对象的方法
2006/10/09 PHP
用Flash图形化数据(二)
2006/10/09 PHP
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
JavaScript获取GridView中用户点击控件的行号,列号
2009/04/14 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
javaScript中slice函数用法实例分析
2015/06/08 Javascript
微信小程序 教程之wxapp 视图容器 view
2016/10/19 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
vue.js仿hover效果的实现方法示例
2019/01/28 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
react实现移动端下拉菜单的示例代码
2020/01/16 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
2020/02/04 jQuery
Numpy中的mask的使用
2018/07/21 Python
Python装饰器语法糖
2019/01/02 Python
Python学习笔记之图片人脸检测识别实例教程
2019/03/06 Python
橄榄树药房:OLIVEDA
2019/09/01 全球购物
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
5s推行计划书
2014/05/06 职场文书
新农村建设典型材料
2014/05/31 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
不同意离婚答辩状
2015/05/22 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
pytorch中的numel函数用法说明
2021/05/13 Python
详解MindSpore自定义模型损失函数
2021/06/30 Python
postgresql 删除重复数据案例详解
2021/08/02 PostgreSQL
HTML中的表单元素介绍
2022/02/28 HTML / CSS