读书人

replace中轮换、搜索的使用

发布时间: 2012-10-27 10:42:26 作者: rapoo

replace中替换、搜索的使用
<script language="javascript"> var strObj="空谷悠悠喜欢题足球,空谷悠悠喜欢打乒乓球"; alert(strObj); newStr = strObj.replace("空谷悠悠","小谷"); alert(newStr); </script>

?replace 方法

返回根据正则表达式进行文字替换后的字符串的复制。

stringObj.replace(rgExp, replaceText)

参数

?

?

?

我们接着再看一个有趣的程序:

<script language="javascript"> var reg=new RegExp("d","g"); var str="abd1afa4sdf"; str.replace(reg,function(){alert(arguments.length);}); </script>

?

<script language="javascript"> var reg=new RegExp("d","g"); var str="abd1afa4sdf"; str.replace(reg,function(){alert(arguments.length);}); </script>

?

?我们惊奇的发现,匿名函数竟然被执行了二次,并且在函数里还带有三个参数,为什么会执行二次呢??这个很容易想到,因为我们写的正则表达式是匹配单个数字的,而被检测的字符串刚好也有二个数字,故匿名函数被执行了二次。。在匿名函数内部的那三个参数到底是什么内容呢??为了弄清这个问题,我们看下面的代码:

?

?

?

?

?进观察我们发现,第一个参数表示匹配到的字符,第二个参数表示匹配时的字符最小索引位置,第三个参数表示被匹配的字符串。其实这些参数的个数,还会随着子匹配的变多而变多。

?

?

?

读书人网 >Web前端

热点推荐