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 相关文章推荐
精通JavaScript 纠正 cleanWhitespace函数
Mar 11 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
Javascript学习笔记-详解in运算符
Sep 13 Javascript
JQuery写动态树示例代码
Jul 31 Javascript
node.js中实现同步操作的3种实现方法
Dec 05 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
Sep 06 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
May 03 Javascript
JavaScript实现随机数生成器(去重)
Oct 13 Javascript
JavaScript之创意时钟项目(实例讲解)
Oct 23 Javascript
vue项目中api接口管理总结
Apr 20 Javascript
Vue.js的复用组件开发流程完整记录
Nov 29 Javascript
vue mvvm数据响应实现
Nov 11 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
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
php调用MySQL存储过程的方法集合(推荐)
2013/07/03 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
php判断当前操作系统类型
2015/10/28 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
PHP递归统计系统中代码行数
2019/09/19 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
2010/06/02 Javascript
JavaScript浏览器选项卡效果
2010/08/25 Javascript
Javascript的表单验证-揭开正则表达式的面纱
2016/03/18 Javascript
用JS生成UUID的方法实例
2016/03/30 Javascript
js选择器全面解析
2016/06/27 Javascript
jQuery插件简单学习实例教程
2016/07/01 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
JS相册图片抖动放大展示效果的示例代码
2021/01/29 Javascript
Python中的__SLOTS__属性使用示例
2015/02/18 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Python魔法方法 容器部方法详解
2020/01/02 Python
Python Serial串口基本操作(收发数据)
2020/11/06 Python
Python读写锁实现实现代码解析
2020/11/28 Python
让IE支持CSS3的不完全兼容方案
2014/09/19 HTML / CSS
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
Reformation官网:美国女装品牌
2018/09/14 全球购物
小学生期末评语大全
2014/04/21 职场文书
文明之星事迹材料
2014/05/09 职场文书
参观邀请函范文
2015/02/02 职场文书