javascript 正则替换 replace(regExp, function)用法


Posted in Javascript onMay 22, 2010
function fn() 
{ 
for(var i = 0;i < arguments.length;i++){ 
alert("第"+(i+1)+"个参数的值:"+arguments[i]); 

} 
} 
var str = '<div id="{wo}" >{ni}</div>'; 
str.replace(/\{([a-z]+)\}/ig, fn);

根据多次测试由输出结果可以得出fn中:

第一个参数为匹配到的字符串,如{wo}和{ni};

第二个参数可以有0-N个,为第一个参数中匹配到一个括号正则的字符串,如第一个参数中的wo和ni,能匹配([a-z]+),

括号有几组,则参数有几个;

第三个参数为第一个参数中匹配到的字符串所在位置,如{wo}返回9,{no}返回16;

第四个参数为用来匹配的字符串,在这个例子中就是<div id="{wo}" >{ni}</div>.

本例中对于一个包含wo和ni的json对象可以简单地用:

str.replace(/\{([a-z]+)\}/ig, function(s, t){ 
return json[t]; 
});

来替换.
Javascript 相关文章推荐
jquery下将选择的checkbox的id组成字符串的方法
Nov 28 Javascript
js字符串转换成xml对象并使用技巧解读
Apr 18 Javascript
js中的push和join方法使用介绍
Oct 08 Javascript
初识Javascript小结
Jul 16 Javascript
javascript实现树形菜单的方法
Jul 17 Javascript
javascript中获取元素标签中间的内容的实现方法
Oct 08 Javascript
详解Node.js实现301、302重定向服务
Apr 07 Javascript
Easyui ueditor 整合解决不能编辑的问题(推荐)
Jun 25 Javascript
Vue编写多地区选择组件
Aug 21 Javascript
JavaScript面向对象精要(上部)
Sep 12 Javascript
浅谈JS对象添加getter与setter的5种方法
Jun 09 Javascript
简单了解前端渐进式框架VUE
Jul 20 Javascript
JQuery 文本框使用小结
May 22 #Javascript
基于Asp.net与Javascript控制的日期控件
May 22 #Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 #Javascript
用jQuery打造TabPanel效果代码
May 22 #Javascript
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 #Javascript
jquery 多级下拉菜单核心代码
May 21 #Javascript
JQuery 学习技巧总结
May 21 #Javascript
You might like
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php将url地址转化为完整的a标签链接代码(php为url地址添加a标签)
2014/01/17 PHP
PHP小偷程序的设计与实现方法详解
2016/10/15 PHP
PHP校验15位和18位身份证号的类封装
2018/11/07 PHP
Javascript 学习书 推荐
2009/06/13 Javascript
dess中一个简单的多路委托的实现
2010/07/20 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
初识简单却不失优雅的Vue.js
2016/09/12 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
浅谈 vue 中的 watcher
2017/12/04 Javascript
详解vue+vuex+koa2开发环境搭建及示例开发
2018/01/22 Javascript
angular 数据绑定之[]和{{}}的区别
2018/09/25 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
Vue-cli3多页面配置详解
2020/03/22 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
使用Flask集成bootstrap的方法
2018/07/24 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
Python实现把类当做字典来访问
2019/12/16 Python
python异常处理和日志处理方式
2019/12/24 Python
vscode调试django项目的方法
2020/08/06 Python
Python3.9新特性详解
2020/10/10 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
HTML5+css3:3D旋转木马效果相册
2017/01/03 HTML / CSS
供应链金融服务方案
2014/05/25 职场文书
乡镇八一建军节活动方案
2014/08/24 职场文书
卫校毕业生自我鉴定
2014/09/28 职场文书
春节晚会开场白
2015/05/29 职场文书
如何书写你的职业生涯规划书?
2019/06/27 职场文书
pytorch 预训练模型读取修改相关参数的填坑问题
2021/06/05 Python