window.onload = function () {
var replaceMsg = "wHENEVER SANG MY SONG,oN THIS STAGE<BR /> ©1999-2006";
var matchExp = /([\d])|([a-z])|([A-Z])/g;
document.body.innerHTML = replaceMsg.replace(matchExp, magicCode);
}
function magicCode(s, a, b, c) {
return a ? "<font color='red'>" + s + "</font>" : (b ? b.toUpperCase() : c.toLowerCase());
}
麻烦大侠给我解释下这段正则式什么意思啊。
1楼正解!好巧妙啊!
你可以新建一txt文档,把你代码拷贝到文档里如下
好巧妙的正则替换!
正则本身只是取单个数字、小写字母或大写字母。
s对应/([\d])|([a-z])|([A-Z])/g 的匹配结果
a,b,c分别对应每个分组的结果。
a对应([\d]),当是数字时,a匹配到了,为真,magicCode返回"<font color='red'>" + s + "</font>"
b对应([a-z]),当是小写字母时,a分组没有匹配到,b匹配到了,a为假,b为真,magicCode返回b.toUpperCase()
c对应([A-Z]),同理,返回c.toLowerCase()
正则分析一楼正解,这段代码的作用是把给字的字符串中的数字高亮(变为红色),小写字母转大写,大写字母转小写
学习了...
mark...