最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
js 字符替换replace()函数用法详解
时间:2013-03-29 编辑:简简单单 来源:一聚教程网
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数 是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身
方式一,最简单常用的方式
代码如下 | 复制代码 |
|
方式二 ,采用固定参数的回调函数
代码如下 | 复制代码 |
var rep2=url.replace(reg,function(m,p1,p2,p3){return p1+"ShowBook.aspx?bookId="+p3+"&chapterId="+p3}); |
方式三,采用非固定参数的回调函数
代码如下 | 复制代码 |
var rep3=url.replace(reg,function(){var args=arguments; return args[1]+"ShowBook.aspx?bookId="+args[2]+"&chapterId="+args[3];}); |
方法四,正则模式替换
代码如下 | 复制代码 |
如果 |
有N的N次方个错别字,是不是也要执行N的N次方replace方法来替换掉错别字呢??呵,不用怕,有了正则表达式之后不用一个错别字要执行一次replace方法。。程序经过改进之后的代码如下
Js代码
代码如下 | 复制代码 |
在使用过程中自己碰的问题解析
代码如下 | 复制代码 |
str=str.replace("hand","hand.gif"); |
输出:hand.gif hand hand
只替换了一次。。。:(
于是写
代码如下 | 复制代码 |
str = str.replace(/hand/,"hand.gif") |
无效。。。
全部替换要加g,
代码如下 | 复制代码 |
str = str.replace(/hand/g,"hand.gif") |
还是不行:(
后来百度,google都找到了得到了结果是原来要用()括起来,才会替换()里的东东。正确的写法如下:
代码如下 | 复制代码 |
str = "hand hand hand"; |
JS的正则另一种写法是使用RegExp:
代码如下 | 复制代码 |
如str=str.replace(/(hand)/g,"hand.gif"); 等同于: reg = new RegExp("(hand)","g"); str = str.replace(reg,'hand.gif'); |
相关文章
- js字符替换函数的详细使用方法 05-25
- js replace字符替换函数 04-03
- js 字符替换函数 11-10
- JSP中的字符替换函数str_replace()实现 01-12
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31