通过jQuery的camelCase方法,解析string的replace()函数
2016-06-28 16:43
567 查看
/*jQuery的camelCase*/
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
};
var str = "ms-abc-def-mgh";
alert(str.replace(
/(-[\da-z])/gi, fcamelCase ));//ms-Abc-Def-Mgh
alert(str.replace( /-([\da-z])/gi, fcamelCase ));//msAbcDefMgh
两个正则表达式很相近。但是结果却不相同,原因:当replace第二个参数传入的是一个函数时,
正常情况这个函数包含三个参数:第一个参数表示匹配到的字符,第二个参数表示匹配到的字符最小索引位置(RegExp.index),第 三个参数表示被匹配的字符串(RegExp.input)
当正则中有小括号进行分组时,这个函数包含四个参数:第一个参数表示匹配到的字符,第二个参数表示分组中匹配到的字符串,第 三个参数匹配到的字符最小索引位置(RegExp.index),第四个参数表示被匹配的字符串(RegExp.input)
所以执行第一个正则时:参数all:‘-a’ letter:'-a' -->return ‘-A’
执行第二个正则时:参数all:'-a' letter:'a' -->return 'A'
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
};
var str = "ms-abc-def-mgh";
alert(str.replace(
/(-[\da-z])/gi, fcamelCase ));//ms-Abc-Def-Mgh
alert(str.replace( /-([\da-z])/gi, fcamelCase ));//msAbcDefMgh
两个正则表达式很相近。但是结果却不相同,原因:当replace第二个参数传入的是一个函数时,
正常情况这个函数包含三个参数:第一个参数表示匹配到的字符,第二个参数表示匹配到的字符最小索引位置(RegExp.index),第 三个参数表示被匹配的字符串(RegExp.input)
当正则中有小括号进行分组时,这个函数包含四个参数:第一个参数表示匹配到的字符,第二个参数表示分组中匹配到的字符串,第 三个参数匹配到的字符最小索引位置(RegExp.index),第四个参数表示被匹配的字符串(RegExp.input)
所以执行第一个正则时:参数all:‘-a’ letter:'-a' -->return ‘-A’
执行第二个正则时:参数all:'-a' letter:'a' -->return 'A'
相关文章推荐
- jquery toastr introduction
- jquery 效果
- Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
- jquery方法总结
- jquery Ajax响应前和完成事件
- jQuery EasyUI DataGrid Checkbox 数据设定与取值
- jquery 事件
- JQuery实现悬浮工具条
- jquery 选择器
- 自定义jQuery插件Step by Step
- Web页面取得当前日期
- jQuery Validate验证框架详解
- jQuery Validate验证框架详解
- jquery保存用户名和密码到cookie里面
- jQuery实现鼠标滚动图片延迟加载效果附源码下载
- jQuery操作下拉框
- jQuery的.bind()、.live()和.delegate()之间区别
- jQuery的.bind()、.live()和.delegate()之间区别
- jquery 实现checkbox全选
- jQuery基础学习(1)(标签选择器,事件)