В приведенном ниже коде Im не получается правильный результат. Как я могу выполнить сопоставление шаблонов в 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")
Im получая ниже выходные
Если я прохожу mountainwithpassid | accesscode в качестве входных данных Im получая выход в 100. Точно так же, если я прохожу
ключ: mountainwithpassid | passid
значение : 100 // Ожидаемый результат 1
Итак, каков правильный вывод и что именно вы хотите от URL? – turnt
@Cygwinnian, мой вход - mountainwithpassid | passid, который должен возвращать 1 как выход согласно url. – user3180402