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 Dialog(JS 模态窗口,可拖拽的DIV)
Feb 07 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
Apr 02 Javascript
JS实现OCX控件的事件响应示例
Sep 17 Javascript
javascript解析json实例详解
Nov 05 Javascript
JS实现网页顶部向下滑出的全国城市切换导航效果
Aug 22 Javascript
js实现兼容IE、Firefox的图片缩放代码
Dec 08 Javascript
javascript中去除数组重复元素的实现方法【实例】
Apr 12 Javascript
Javascript打印局部页面实例
Jun 21 Javascript
bootstrap weebox 支持ajax的模态弹出框
Feb 23 Javascript
详解React-Native全球化多语言切换工具库react-native-i18n
Nov 03 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
mock.js模拟数据实现前后端分离
Jul 24 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
如何写php程序?
2006/12/08 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
PHP Curl多线程原理实例详解
2013/11/06 PHP
简单实用的PHP防注入类实例
2014/12/05 PHP
php防止CC攻击代码 php防止网页频繁刷新
2015/12/21 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
php实现按天数、星期、月份查询的搜索框
2016/05/02 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
JS实现仿百度输入框自动匹配功能的示例代码
2014/02/19 Javascript
JS图片轮播与索引变色功能实例详解
2017/07/06 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
2018/05/09 jQuery
vue项目在安卓低版本机显示空白的原因分析(两种)
2018/09/04 Javascript
bootstrap Table实现合并相同行
2019/07/19 Javascript
Nuxt使用Vuex的方法示例
2019/09/06 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
详解一些适用于Node.js的命名约定
2019/12/08 Javascript
vue中对象数组去重的实现
2020/02/06 Javascript
Vue中nprogress页面加载进度条的方法实现
2020/11/13 Javascript
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
python操作MySQL 模拟简单银行转账操作
2017/09/27 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
python如何进行矩阵运算
2020/06/05 Python
Python3开发环境搭建详细教程
2020/06/18 Python
树莓派4B安装Tensorflow的方法步骤
2020/07/16 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
python利用faker库批量生成测试数据
2020/10/15 Python
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
装饰活动策划方案
2014/02/11 职场文书
社区文艺活动方案
2014/08/19 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
golang使用map实现去除重复数组
2022/04/14 Golang
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL