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 相关文章推荐
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
js模拟select下拉菜单控件的代码
May 08 Javascript
javascript中不等于的代码是什么怎么写
Dec 29 Javascript
原生javascript实现图片滚动、延时加载功能
Jan 12 Javascript
JS表的模拟方法
Feb 05 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
js实现新年倒计时效果
Dec 10 Javascript
分享两款带遮罩的jQuery弹出框
Dec 30 Javascript
去除字符串左右两边的空格(实现代码)
May 12 Javascript
AngularJS Controller作用域
Jan 09 Javascript
vue项目中公用footer组件底部位置的适配问题
May 10 Javascript
解决vue跨域axios异步通信问题
Apr 17 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同时支持GIF、png、JPEG
2006/10/09 PHP
PHP操作文件方法问答
2007/03/16 PHP
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
利用PHP获取网站访客的所在地位置
2017/01/18 PHP
PHP 二维关联数组根据其中一个字段排序(推荐)
2017/04/04 PHP
NiftyCube——轻松实现圆角边框
2007/02/20 Javascript
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
javascript之typeof、instanceof操作符使用探讨
2013/05/19 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
Vue.js 事件修饰符的使用教程
2018/11/01 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
python批量导出导入MySQL用户的方法
2013/11/15 Python
Python中使用hashlib模块处理算法的教程
2015/04/28 Python
python日志logging模块使用方法分析
2019/05/23 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
HTML5 画布canvas使用方法
2016/03/18 HTML / CSS
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
英国折扣零售连锁店:QD Stores
2018/12/08 全球购物
全球领先的中国制造商品在线批发平台:DHgate
2020/01/28 全球购物
面向对象设计的原则是什么
2013/02/13 面试题
abstract class和interface有什么区别
2013/08/04 面试题
合作意向书
2014/07/30 职场文书
负责培养人意见
2015/06/05 职场文书
关爱空巢老人感想
2015/08/11 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python