replace替换函数,替换次数为变量

来源:互联网 发布:c语言重定向输入 编辑:程序博客网 时间:2024/05/16 15:57
例子是查找页面中所有${任意内容}$,替换成$0$
//下面的写法多余了,如果我们要replace所有的,可以用replaceAll,因为JS里面没有replaceAll,可以用正则表达式的g,还替换就可以了下面的代码,我算出替换次数,实在多余,但是下面的代码可以替换某几个,比如总共需要替换6次,我可以用下面的匿名函数,替换3次,4次,等
<!DOCTYPE HTML><html><head><script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script><script type="text/javascript">$(function(){//匹配的正则表达式//var reg=/\$\{[^${}]*\}\$/ig;//获取body里面的text内容var str=$("body").html();//算出$出现的次数,除以2就是要替换的次数var n=(str.split('$')).length-1;var g=n/2;var i = 0;//核心代码,g就是替换次数str3 = str.replace(/\$\{[^${}]*\}\$/ig, function() { return ((++i)<=g)? ("$0$"): (arguments[1]); });$("body").html(str3)})</script></head><body>dfgdfgf<div class="zxd">${5555555}$</div>fgfg34r544r<div class="zxd">${66666}$gdfgfg</div>fgffg<div class="zxd">${888}$</div>gffg</body></html>
0 0
原创粉丝点击