JavaScript String.replace函数参数实例说明


Posted in Javascript onJune 06, 2013

Email:longsu2010 at yeah dot net
js String的replace函数的函数签名如下:
replace(match/* 字符串OR正则表达式 */, replacement/* 字符串OR函数 */)
作用是将源自符串中的match替换为replacement并返回替换后的字符串。
如果第一参数是字符串就没什么好说的了,但是要记住此时只在源自符串替换一次match(第一次)函数就执行完成了。

所以第一参数通常是一个正则表达式,举例如下:
replace(/a/g, "b") // 将源自符串中所有的a替换为b。

第二参数可以是一个字符串,该字符串中可以包含第一参数正则表达式的分组,举例如下:
replace(/(a){2,2}/g, "$1b") // 将源自符串中所有的aa替换为ab。

如果第二参数是一个函数的话,那么函数的参数是什么呢?举例如下:

"bbabc".replace(/(a)(b)/g, function(){ 
console.log(arguments) 
});

参数将依次为:
1、整个正则表达式匹配的字符。
2、第一分组匹配的内容、第二分组匹配的内容…… 以此类推直到最后一个分组。
3、此次匹配在源自符串中的下标(位置)。
4、源自符串
所以例子的输出是

["ab", "a", "b", 2, "bbabc"]

第二参数的返回值将会被替换到源自符串中,因若js函数无返值那么调用函数会得到undefined,所以如果第二参数无返回值undefined将会被替换到源自符串中。
如果第一参数是一个字符串,同时第二参数是一个函数的话,那就当成第一参数是一个没有分组的正则表达式好了,这样就可以确定第二参数的参数了。
文中有一些表述不当之处,如“替换到源自符串中”(源自符串只是充当模板的角色,并不真正发生改变,字符串是不可改变的变量),希望不会误导大家。

Javascript 相关文章推荐
在页面上点击任一链接时触发一个事件的代码
Apr 07 Javascript
用jquery实现下拉菜单效果的代码
Jul 25 Javascript
js中关于一个分号的崩溃示例
Nov 11 Javascript
js和css写一个可以自动隐藏的悬浮框
Mar 05 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
Jan 09 Javascript
jQuery实现表格行上移下移和置顶的方法
May 22 Javascript
js将滚动条滚动到指定位置的简单实现方法
Jun 25 Javascript
浅谈javascript中遇到的字符串对象处理
Nov 18 Javascript
纯原生js实现贪吃蛇游戏
Apr 16 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
Paypal支付不完全指北
Jun 04 Javascript
jquery DIV撑大让滚动条滚到最底部代码
Jun 06 #Javascript
window.showModalDialog参数传递中含有特殊字符的处理方法
Jun 06 #Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
Jun 06 #Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
Jun 06 #Javascript
原生js实现半透明遮罩层效果具体代码
Jun 06 #Javascript
jquery js 获取时间差、时间格式具体代码
Jun 05 #Javascript
JavaScript设置IFrame高度自适应(兼容各主流浏览器)
Jun 05 #Javascript
You might like
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
php基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
实现PHP+Mysql无限分类的方法汇总
2015/03/02 PHP
PHP 自动加载的简单实现(推荐)
2016/08/12 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
js使用函数绑定技术改变事件处理程序的作用域
2011/12/26 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
java和javascript获取word文档的书签位置对比
2014/06/19 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
JS动态给对象添加事件的简单方法
2016/07/19 Javascript
JavaScript箭头函数_动力节点Java学院整理
2017/06/28 Javascript
vue进入页面时滚动条始终在底部代码实例
2019/03/26 Javascript
通过seajs实现JavaScript的模块开发及按模块加载
2019/06/06 Javascript
微信小程序文章详情页跳转案例详解
2019/07/09 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
[03:36]DOTA2完美大师赛coL战队趣味视频——我演你猜
2017/11/23 DOTA
python实现一次创建多级目录的方法
2015/05/15 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
一套带网友答案的.NET笔试题
2016/12/06 面试题
新闻编辑自荐书范文
2014/02/12 职场文书
个人授权委托书
2014/09/15 职场文书
简单租房协议书
2014/10/21 职场文书
2014年最新版离婚协议书范本
2014/11/25 职场文书
明星邀请函
2015/02/02 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
婚姻出轨保证书
2015/05/08 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
教师个人教学反思
2016/02/23 职场文书