在JS,Replace可以将$n(SubMatches)传递给Function,如:
var s = "Cuilu$Test$007"
function test(str){
if(str == "Test"){
return "True"
}else{
return "False"
}
}
var news = s.replace(/\$(\w)+\$/ig,test("$1"))
//news的值将是s中的$Test$被替换成True后的CuiluTrue007
而在ASP(VBS)中,如
dim s:s = "Cuilu$Test$007"
function test(str)
if str = "Test" then
test = "True"
else
test = "False"
end function
dim reg:set reg = regExp
reg.Pattern = "\$(\w+)\$"
dim news:news = reg.replace(s,test("$1"))
'news的值将是s中的$Test$被替换成False后的CuiluTrue007
我分别获取了一下JS和VBS中Function接收到的Arguments
其中JS接到到的Argument为 Test
而VBS中function接收到的则是$1
很明显VBS将$1做为普通字符串传递了,而JS中则是SubMatches对象中第一次匹配到的传递
请高手提示一下,怎么在ASP的Replace中,也让$n为匹配到的SubMatch传递给替换Function的参数!
潇潇雨雨
杨魅力