javascript的replace方法的用法
replace是String对象上的一个方法,可以实现把字符串中某些指定的子字符串替换成其他字符串。用法为 “字符串.replace(parm1,parm2)”。其中parm1的老字符串,可以使普通字符串,也可以是一个正则表达式;parm2退换的结果,可以是一个字符串,更重要的是也可以是一个javascript的方法,作为回调函数。下面用几个小例子来分别说明一下。
代码如下 | |
alert('abcabd'.replace('ab','12')); |
这里alert的结果就是12cabd,注意到它只替换到第一次出现的,后面不做替换。如果把子串全部替换,只能用正则表达式的方法来操作。
代码如下 | |
alert('abcabdAbe'.replace(/ab/g,'12')); |
这样得到的结果为12c12dAbe,g 表示进行全局替换,同时也可以用 i 来忽略大小写,注意正则表达式不能用引号引起来。
代码如下 | |
var i = 0; |
这里的结果是ab-1-Aab-2-Bab-3-C,当匹配到子字符串时,调用回调方法,并把匹配到的值作为参数传入。另外一个例子,把字符串中小于30的数替换成星号
代码如下 | |
alert('10 33 21 18 52'.replace(/d+/g, function(match) { |
下文展示了几种javascript正则表示式的repalce方式,有些方式我们很少在别的地方看到,如第二种和第三方中方法。
代码如下 | |
//下面的例子用来获取url的两个参数,并返回urlRewrite之前的真实Url //方式一,最简单常用的方式 //方式二 ,采用固定参数的回调函数 //方式三,采用非固定参数的回调函数
var rep4=url.replace(reg,capText);
bookId=m[2];
|