javascript实现全局匹配并替换的方法


Posted in Javascript onApril 27, 2015

在javascript替换字符串使用的是replace函数,但在实际使用过程中却发现该函数只会替换被匹配的第一个字符,这就让人很不爽了,在php语言中,replace可是实现全局匹配并替换的。没办法,仔细研究了下,发现还是有其他办法实现全局匹配并替换的。

(1)其实replace本身也可以实现这种功能的,但要通过正则的形式加个参数g,例如:

str.replace(/www.baidu.com/g,'3water.com');

或者:

str.replace(new RegExp('www.baidu.com','gm'),'3water.com');

将 str 字符中的 www.baidu.com 全部替换为 3water.com

(2)自己扩展js函数库,自创函数replaceall方法实现全局匹配并替换的功能。如下:

String.prototype.replaceall=function(s1,s2){ 

    return this.replace(new RegExp(s1,"gm"),s2);  

}

这个其实也是利用了方法一的思想。举例如下(这里也实现了同上的功能,只不过相比方法一更为直观而已):

str.replace('www.baidu.com','3water.com');

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
得到文本框选中的文字,动态插入文字的js代码
Mar 07 Javascript
深入理解JavaScript系列(13) This? Yes,this!
Jan 18 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
Nov 11 Javascript
JavaScript 栈的详解及实例代码
Jan 22 Javascript
JavaScript和JQuery获取DIV值的方法示例
Mar 07 Javascript
@ResponseBody 和 @RequestBody 注解的区别
Mar 08 Javascript
让微信小程序支持ES6中Promise特性的方法详解
Jun 13 Javascript
vue实现简单的星级评分组件源码
Nov 16 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
Nov 09 Javascript
微信小程序拖拽排序列表的示例代码
Jul 08 Javascript
Element InputNumber计数器的使用方法
Jul 27 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
Oct 28 Javascript
js限制文本框只能输入整数或者带小数点的数字
Apr 27 #Javascript
如何使用HTML5地理位置定位功能
Apr 27 #Javascript
jQuery插件scroll实现无缝滚动效果
Apr 27 #Javascript
Javascript非构造函数的继承
Apr 27 #Javascript
JQuery选中checkbox方法代码实例(全选、反选、全不选)
Apr 27 #Javascript
jquery简单的弹出层浮动层代码
Apr 27 #Javascript
javascript实现俄罗斯方块游戏的思路和方法
Apr 27 #Javascript
You might like
修改了一个很不错的php验证码(支持中文)
2007/02/14 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
Javascript 按位取反运算符 (~)
2014/02/04 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
探索Javascript中this的奥秘
2016/12/11 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
vue自定义指令实现方法详解
2019/02/11 Javascript
vue在响应头response中获取自定义headers操作
2020/07/24 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
[02:26]2016国际邀请赛8月3日开战 中国军团出征西雅图
2016/08/02 DOTA
使用Python中的greenlet包实现并发编程的入门教程
2015/04/16 Python
利用Python学习RabbitMQ消息队列
2015/11/30 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
python破解bilibili滑动验证码登录功能
2019/09/11 Python
解决python web项目意外关闭,但占用端口的问题
2019/12/17 Python
使用python实现数组、链表、队列、栈的方法
2019/12/20 Python
Python中实现输入超时及如何通过变量获取变量名
2020/01/18 Python
浅谈django 模型类使用save()方法的好处与注意事项
2020/03/28 Python
sqlalchemy实现时间列自动更新教程
2020/09/02 Python
Python实现图片指定位置加图片水印(附Pyinstaller打包exe)
2021/03/04 Python
Prototype是怎么扩展DOM的
2014/10/01 面试题
医院护士的求职信范文
2013/12/26 职场文书
《我为你骄傲》教学反思
2014/02/20 职场文书
创建学习型党组织实施方案
2014/03/29 职场文书
消防安全宣传标语
2014/06/07 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
2016学习全国教书育人楷模先进事迹心得体会
2016/01/21 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python
Python OpenGL基本配置方式
2022/05/20 Python