如果 replaceText 为函数,对于每一个匹配的子字符串,调用该函数时带有下面的 m+3 个参数,此处 m 是在 rgExp 中捕获的左括弧的个数。第一个参数是匹配的子字符串。
接下来的 m 个参数是查找中捕获的全部结果。第 m+2 个参数是在 stringObj 中匹配出现的偏移量,而第 m+3 个参数为 stringObj。结果为将每一匹配的子字符串替换为函数调用的相应返回值的字符串值。
正则表达式在线测试工具 正则表达式30分钟入门教程
即:
<script language="JavaScript" type="text/javascript"> <!-- str="abcdefg" alert(str.replace(/w/g,function($0,$1,$2){alert('$0='+$0);alert('$1='+$1);alert('$2='+$2);return $1%2==1?'':$1})) //这个正则表达式中.$0表示匹配的内容 $1表示匹配的偏移 $2 表示整个字符串 //--> </script> [提示:你可先修改部分代码,再按运行]