作家
登录

js replace() 文本替换你所不知的

作者: 来源:www.28hudong.com 2013-03-30 01:46:29 阅读 我要评论

复制代码 代码如下: //把word-word转化为wordWord function camelize(s){ return s.replace(/-(w)/g, function(strMatch, p1){ return p1.toUpperCas(); }); } 这里应用到了文本替换函数replace,他的一般语法估计大家都已经耳熟能详了,现在介绍一下当他的第二个参数为函数时的情形。 今天我在群里发这个函数的时候,有个人反映很快,说上面的那个正则写错了“/-(w)/g”,而后很快又明白了,他的疑惑是这个“()”,其实这个括号是很必要的: (x)匹配x,将x保存在名为$1,$2...$9的变量中,其实就是给其加一个索引,方便后面的调用。如果不加这个括号就会出错了: 好的,下面介绍一下函数参数的意义,为什么这个函数能够实现指定的功能呢? ECMAScript v3 规定,replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。 看起来好像有点烦,举个例子:复制代码 代码如下:camelize(www-rrr); 也就是调用一下,其实上面的strMatch值为-r,就是与正则匹配的字符串(该函数的第一个参数是匹配模式的字符串), 上面的p1的值是r,指的是紧接着-后面的r(接下来的参数是与模式中的子表达式匹配的字符串),就是我们规定的索引——“(w)”。 好了,我想之后这个函数要执行什么应该能看的很清楚了,呵呵,就到这里了,欢迎补充提议。 s.replace(/-([a-z])/ig, function(all, letter) { return letter.toUpperCase(); }); w还包括了数字和_ [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

  推荐阅读

  jQuery 选择器理解

$的选择器部分: 凡是运用$,其返回值是一个object $选择器主要用于选择标签.基本用法是同css的选择器.但是,很让人兴奋的是,他支持常见的浏览器,而css中很多选择器是IE6所不支持的. 1.基本选择器(3种): ----凡是运用>>>详细阅读


本文标题:js replace() 文本替换你所不知的

地址:http://www.17bianji.com/kaifa2/JS/26846.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)