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 相关文章推荐
innerHTML 和 getElementsByName 在IE下面的bug 的解决
Apr 09 Javascript
高效率JavaScript编写技巧整理
Aug 23 Javascript
js实现按一下删除键删除整个单词附demo
Sep 05 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
基于bootstrap-datetimepicker.js不支持IE8的快速解决方法
Nov 07 Javascript
jquery.flot.js简单绘制折线图用法示例
Mar 13 Javascript
使用Math.max,Math.min获取数组中的最值实例
Apr 25 Javascript
如何理解Vue的.sync修饰符的使用
Aug 17 Javascript
jquery一键控制checkbox全选、反选或全不选
Oct 16 jQuery
vue中keep-alive,include的缓存问题
Nov 26 Javascript
使用原生JS实现滚轮翻页效果的示例代码
May 31 Javascript
一篇文章学会Vue中间件管道
Jun 20 Vue.js
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
浅谈本地WAMP环境的搭建
2015/05/13 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
javascript预览上传图片发现的问题的解决方法
2010/11/25 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
jQuery插件jQuery-JSONP开发ajax调用使用注意事项
2013/11/22 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
Vue.JS入门教程之事件监听
2016/12/01 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
浅谈python下含中文字符串正则表达式的编码问题
2018/12/07 Python
python调用动态链接库的基本过程详解
2019/06/19 Python
python如何制作英文字典
2019/06/25 Python
如何在sublime编辑器中安装python
2020/05/20 Python
解决pytorch 的state_dict()拷贝问题
2021/03/03 Python
css3 条纹化和透明化表格Firefox下测试成功
2014/04/15 HTML / CSS
公务员的自我鉴定
2013/10/26 职场文书
审核会计岗位职责
2013/11/08 职场文书
大专毕业生自我鉴定
2013/11/21 职场文书
大学生咖啡店创业计划书
2014/01/21 职场文书
人事专员职责
2014/02/22 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
2015年医务人员医德医风自我评价
2015/03/03 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
劳保用品管理制度范本
2015/08/06 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
OpenCV 图像梯度的实现方法
2021/07/25 Python
Centos7中MySQL数据库使用mysqldump进行每日自动备份的编写
2021/08/02 MySQL