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 相关文章推荐
什么是JavaScript
Aug 13 Javascript
解析js如何获取当前url中的参数值并复制给input
Jun 23 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
jQuery获取当前对象标签名称的方法
Feb 07 Javascript
js数组操作常用方法
May 08 Javascript
javascript解析xml实现省市县三级联动的方法
Jul 25 Javascript
jQuery随手笔记之常用的jQuery操作DOM事件
Nov 29 Javascript
JS+Canvas 实现下雨下雪效果
May 18 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
Feb 20 Javascript
微信小程序实现文件、图片上传功能
Aug 18 Javascript
Vue循环中多个input绑定指定v-model实例
Aug 31 Javascript
JSON stringify方法原理及实例解析
Oct 23 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
关于时间计算的结总
2006/12/06 PHP
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
PHP实现的统计数据功能详解
2016/12/06 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
js获取input标签的输入值实现代码
2013/08/05 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
分享js粘帖屏幕截图到web页面插件screenshot-paste
2020/08/21 Javascript
Bootstrap实现导航栏的2种方式
2016/11/28 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
js实现返回顶部效果
2017/03/10 Javascript
Vue2 配置 Axios api 接口调用文件的方法
2017/11/13 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
200行代码实现blockchain 区块链实例详解
2018/03/14 Javascript
解决vue路由后界面没有变化,但是链接有的问题
2018/09/01 Javascript
Vue实现商品分类菜单数量提示功能
2019/07/26 Javascript
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
python实现查询苹果手机维修进度
2015/03/16 Python
Python生成随机密码的方法
2017/06/16 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
Python/ArcPy遍历指定目录中的MDB文件方法
2018/10/27 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
Python使用百度api做人脸对比的方法
2019/08/28 Python
python实现根据文件格式分类
2019/10/31 Python
关于Python3 lambda函数的深入浅出
2019/11/27 Python
HTML5使用drawImage()方法绘制图像
2014/06/23 HTML / CSS
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
入党转预备思想汇报
2014/01/07 职场文书
安全生产网格化管理实施方案
2014/03/01 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
python解析json数据
2022/04/29 Python