在下面的代码中我没有得到正确的结果。我怎样才能在JavaScript中做模式匹配?javascript中的模式匹配
function getPathValue(url, input) {
console.log("this is path key :"+input);
url = url.replace(/%7C/g, '|');
var inputarr = input.split("|");
if (inputarr.length > 1)
input = '\\b' + inputarr[0] + '\n|' + inputarr[1] + '\\b';
else
input = '\\b' + input + '\\b';
var field = url.search(input);
var slash1 = url.indexOf("/", field);
var slash2 = url.indexOf("/", slash1 + 1);
if (slash2 == -1)
slash2 = url.indexOf("?");
if (slash2 == -1)
slash2 = url.length;
console.log("this is path param value :"+url.substring(slash1 + 1, slash2));
return url.substring(slash1 + 1, slash2);
}
getPathValue("http://localhost/responsePath/mountainwithpassid|accesscode/100/mountainwithpassid|passid/1","mountainwithpassid|passid")
即时得到下面的输出
如果我通过mountainwithpassid | accesscode输入即时得到输出如果我通过
关键 100一样:mountainwithpassid | passid
值:100 //预期输出1
那么,什么是正确的输出,你想要什么从URL? – turnt
@Cygwinnian我的输入是mountainwithpassid | passid,它应该根据url返回1作为输出。 – user3180402