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 相关文章推荐
数组Array进行原型prototype扩展后带来的for in遍历问题
Feb 07 Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
JS实现窗口加载时模拟鼠标移动的方法
Jun 03 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
JavaScript 上传文件(psd,压缩包等),图片,视频的实现方法
Jun 19 Javascript
如何在vue中使用ts的示例代码
Feb 28 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
完美解决通过IP地址访问VUE项目的问题
Jul 18 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/12/30 PHP
php定时执行任务设置详解
2015/02/06 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
初窥JQuery(二) 事件机制(1)
2010/11/25 Javascript
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
2013/05/03 Javascript
js Math 对象的方法
2013/09/01 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
重写document.write实现无阻塞加载js广告(补充)
2014/12/12 Javascript
jQuery后代选择器用法实例
2014/12/23 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
2015/12/16 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
利用Node.js+Koa框架实现前后端交互的方法
2017/02/27 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
微信小程序动态评分展示/五角星展示/半颗星展示/自定义长度展示功能的实现
2020/07/22 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
Python之Web框架Django项目搭建全过程
2017/05/02 Python
Ubuntu下使用python读取doc和docx文档的内容方法
2018/05/08 Python
pandas 按照特定顺序输出的实现代码
2018/07/10 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
Python函数参数类型及排序原理总结
2019/12/19 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
浅谈sklearn中predict与predict_proba区别
2020/06/28 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
详解HTML5表单新增属性
2016/12/21 HTML / CSS
开会迟到检讨书
2014/02/03 职场文书
企业宗旨标语
2014/06/10 职场文书
2014年专项整治工作总结
2014/11/17 职场文书
Python异常类型以及处理方法汇总
2021/06/05 Python
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL