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 相关文章推荐
jquery选择器(常用选择器说明)
Sep 28 Javascript
你未必知道的JavaScript和CSS交互的5种方法
Apr 02 Javascript
JavaScript实现的使用键盘控制人物走动实例
Aug 27 Javascript
IE6浏览器中window.location.href无效的解决方法
Nov 20 Javascript
JQuery实现DIV其他动画效果的简单实例
Sep 18 Javascript
jQuery实现大图轮播
Feb 13 Javascript
JS实现分页浏览横向图片(类轮播)实例代码
Nov 06 Javascript
javascript使用正则实现去掉字符串前面的所有0
Jul 23 Javascript
js防抖和节流的深入讲解
Dec 06 Javascript
了解JavaScript表单操作和表单域
May 27 Javascript
Vue中rem与postcss-pxtorem的应用详解
Nov 20 Javascript
js实现删除json中指定的元素
Sep 22 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
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
javascript重写alert方法的实例代码
2013/03/29 Javascript
利用JS延迟加载百度分享代码,提高网页速度
2013/07/01 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
jQuery检测鼠标左键和右键点击的方法
2015/03/17 Javascript
浅谈window.onbeforeunload() 事件调用ajax
2016/06/29 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
jQuery+koa2实现简单的Ajax请求的示例
2018/03/06 jQuery
简化vuex的状态管理方案的方法
2018/06/02 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
跟老齐学Python之不要红头文件(1)
2014/09/28 Python
python学习之第三方包安装方法(两种方法)
2015/07/30 Python
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
python使用标准库根据进程名如何获取进程的pid详解
2017/10/31 Python
Python中创建二维数组
2018/10/17 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
德国骆驼商店:ActiveFashionWorld
2017/11/18 全球购物
西班牙三叶草药房:Farmacias Trébol
2019/05/03 全球购物
编写一个类体现构造,公有,私有方法,静态,私有变量
2013/08/10 面试题
会议邀请函范文
2014/01/09 职场文书
海飞丝广告词
2014/03/20 职场文书
大学生求职计划书
2014/04/30 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
教师求职自荐信范文
2015/03/04 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers