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 弹出层插件实现代码
Oct 24 Javascript
Bootstrap弹出框(modal)垂直居中的问题及解决方案详解
Jun 12 Javascript
js 连续赋值的简单实现
Jun 13 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
Jul 04 Javascript
js实现html table 行,列锁定的简单实例
Oct 13 Javascript
JavaScript实现二维坐标点排序效果
Jul 18 Javascript
全选复选框JavaScript编写小结(附代码)
Aug 16 Javascript
极简主义法编写JavaScript类
Nov 02 Javascript
全面介绍vue 全家桶和项目实例
Dec 27 Javascript
解决IE11 vue +webpack 项目中数据更新后页面没有刷新的问题
Sep 25 Javascript
JavaScript实现与使用发布/订阅模式详解
Jan 19 Javascript
JavaScript布尔运算符原理使用解析
May 06 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防止站外远程提交表单的方法
2014/10/20 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
PHP实现更改hosts文件的方法示例
2017/08/08 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
jquery网页元素拖拽插件效果及实现
2013/08/05 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
JS简单封装的图片无缝滚动效果示例【测试可用】
2017/03/22 Javascript
javascript作用域链与执行环境详解
2017/03/25 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
Node.js动手撸一个静态资源服务器的方法
2019/03/09 Javascript
vuex分模块后,实现获取state的值
2020/07/26 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
vue 子组件和父组件传值的示例
2020/09/11 Javascript
[02:01]BBC DOTA2国际邀请赛每日综述:八强胜者组鏖战,中国队喜忧参半
2014/07/19 DOTA
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
2017/05/03 Python
Python更新数据库脚本两种方法及对比介绍
2017/07/27 Python
Python初学者需要注意的事项小结(python2与python3)
2018/09/26 Python
Centos部署django服务nginx+uwsgi的方法
2019/01/02 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
Python使用configparser库读取配置文件
2020/02/22 Python
科尔士百货公司官网:Kohl’s
2016/07/11 全球购物
Omio意大利:全欧洲低价大巴、火车和航班搜索和比价
2017/12/02 全球购物
麦德龙官方海外旗舰店:德国麦德龙超市
2017/12/23 全球购物
澳大利亚美容产品及化妆品在线:Activeskin
2020/06/03 全球购物
预备党员思想汇报范文
2013/12/29 职场文书
不打扫卫生检讨书
2014/02/12 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
大学副班长竞选稿
2015/11/21 职场文书
Python多线程 Queue 模块常见用法
2021/07/04 Python
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python