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 全选/全不选的通用写法
Feb 22 Javascript
使用jQuery简单实现模拟浏览器搜索功能
Dec 21 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
Jun 01 Javascript
js实现横向拖拽导航条功能
Feb 17 Javascript
单行 JS 实现移动端金钱格式的输入规则
May 22 Javascript
vue 插值 v-once,v-text, v-html详解
Jan 19 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 Javascript
解决vue移动端适配问题
Dec 12 Javascript
微信小程序防止多次点击跳转和防止表单组件输入内容多次验证功能(函数防抖)
Sep 19 Javascript
微信小程序中的列表切换功能实例代码详解
Jun 09 Javascript
Vue+Java+Base64实现条码解析的示例
Sep 23 Javascript
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
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的FTP学习(二)[转自奥索]
2006/10/09 PHP
php 删除cookie和浏览器重定向
2009/03/16 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
JavaScript中的Array对象使用说明
2011/01/17 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
javascript解析json实例详解
2014/11/05 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
jQuery ajaxSubmit 实现ajax提交表单局部刷新
2016/07/04 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
python实现红包裂变算法
2016/02/16 Python
python3 爬取图片的实例代码
2018/11/06 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
pytorch打印网络结构的实例
2019/08/19 Python
python科学计算之narray对象用法
2019/11/25 Python
python词云库wordCloud使用方法详解(解决中文乱码)
2020/02/17 Python
对django 2.x版本中models.ForeignKey()外键说明介绍
2020/03/30 Python
python实现canny边缘检测
2020/09/14 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
澳大利亚领先的内衣店:Bendon Lingerie澳大利亚
2020/05/15 全球购物
办公室保洁员岗位职责
2013/12/02 职场文书
工作说明书范文
2014/05/07 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
一个独生女的故事观后感
2015/06/04 职场文书
联村联户简报
2015/07/21 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL