正则表达式很强大,必会。
每种语言正则表达式都类似,学会一种,其他的上手很快的、
JS正则表达式精彩博文:
1 JavaScript RegExp 对象参考手册 W3C http://www.w3school.com.cn/js/jsref_obj_regexp.asp
2 JavaScript使用正则表达式 http://www.yaosansi.com/post/745.html
3 JS的正则表达式 http://www.iteye.com/topic/30728
4 Javascript经典正则表达式 http://www.dedecms.com/html/xitongyanshi/20070423/38637.html
5 温故知新 javascript 正则表达式 http://www.cnblogs.com/libinqq/archive/2008/07/31/1257699.html
JS高级替换功能
简单替换就不说了,比如这样一个字符串
<img type="inputline" style="display:inline;" src="/OJ/GetImage?type=inputline&num=2" /><img type="inputline" style="display:inline;" src="/OJ/GetImage?type=inputline&num=31" /><img type="inputline" style="display:inline;" src="/OJ/GetImage?type=inputline&num=1" />
注意到其中num=2,num=3,num=1我们如何替换这num=后面跟的数字呢?
var regex = /\<img type=['"]([a-zA-z]+)['"][^>]+num=(\d)[^>]* \/\>/g;//提取出<img ... />,写复杂了,可以把num=后面的数字也可以提取出来
var result = "";
var data = "上面那串";
var i=1;
result = data.replace(regex, function(sMatch){//sMatch就是每次提取出来的一个<img ... />
return sMatch.replace(/num=\d/, "num="+i++);
});
alert(result);