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 相关文章推荐
javascript delete 使用示例代码
Mar 29 Javascript
JavaScript 放大镜 移动镜片效果代码
May 09 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
Apr 26 Javascript
jquery获取tr并更改tr内容示例代码
Feb 13 Javascript
巧用局部变量提升javascript性能
Feb 24 Javascript
js图片卷帘门导航菜单特效代码分享
Sep 10 Javascript
Javascript函数式编程语言
Oct 11 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
Jan 04 Javascript
Node.js常用工具之util模块
Mar 09 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
js实现简易计算器小功能
Nov 18 Javascript
Vue3+elementui plus创建项目的方法
Dec 01 Vue.js
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
JAVA/JSP学习系列之七
2006/10/09 PHP
PHP 远程文件管理,可以给表格排序,遍历目录,时间排序
2009/08/07 PHP
PHP生成网页快照 不用COM不用扩展.
2010/02/11 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
2016/09/22 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
javascript中String对象的slice()方法分析
2014/12/20 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
js+css实现导航效果实例
2015/02/10 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
jQuery中delegate()方法的用法详解
2016/10/13 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
微信小程序 slider 详解及实例代码
2017/01/10 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
vue2.0 路由模式mode="history"的作用
2018/10/18 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
2018/11/22 Javascript
jQuery pager.js 插件动态分页功能实例分析
2019/08/02 jQuery
layui 中select下拉change事件失效的解决方法
2019/09/20 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
JavaScript实现弹出窗口效果
2020/12/09 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
遍历python字典几种方法总结(推荐)
2016/09/11 Python
使用Tkinter制作信息提示框
2020/02/18 Python
调整Jupyter notebook的启动目录操作
2020/04/10 Python
C,C++的几个面试题小集
2013/07/13 面试题
如何安装ruby on rails
2014/02/09 面试题
暑假实习求职信范文
2013/09/22 职场文书
幼教毕业生自我鉴定
2014/01/12 职场文书
申请任职学生会干部自荐书范文
2014/02/13 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
党风廉政建设调研报告
2015/01/01 职场文书
于丹论语心得观后感
2015/06/15 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL