2016-07-28 2 views
-1

Ссылка: http://yaezde.localhost/machen/mach-den-impfcheck/question=2Как получить значение параметра off из строки url?

Я знаю, как получить весь URL-адрес, используя window.location.href; но после того, как я хочу знать, какое будет регулярное выражение, чтобы получить значение параметра вопроса.

Ответ: вар вопрос = 2

я попытался это не code..but работать для моего сценария

function getParameterByName(name, url) { 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

var foo = getParameterByName('question'); 
+0

Функция getParameterByName (имя, URL) { if (! Url) url = window.location.href; name = name.replace (/ [\ [\]]/g, "\\ $ &"); var regex = new RegExp (" [? &] "+ Name +" (= ([^ & #] *) | & | # | $) "), results = regex.exec (url); if (! Results) return null; if (! Results [2]) return ''; return decodeURIComponent (результаты [2]. заменить (/ \ +/g, "")) } –

+0

но не работает –

+0

теперь вы можете видеть –

ответ

0

Есть несколько вопросов, в вашем коде.

function getParameterByName(name, url) {//note parameter url 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&\\/](" + name + "=([^&#]*))(?:&|#|$)"); 
    //       ^^^^in your example /question=2 
     results =regex.exec(url); 
    console.log(results); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

var url='http://yaezde.localhost/machen/mach-den-impfcheck/question=2' 
var foo = getParameterByName('question', url);//include url in arguments or it will be undefined in the function 
console.log(foo); 

//Another way to access url in the function scope 
function getParameterByName(name){ 
    //get url from global scope if exists 
    var url = url || window.location.href; 
    //other things 
} 
0

Вместо того, чтобы изобретать колесо, я бы предложил использовать существующую библиотеку как https://github.com/Mikhus/domurl или https://medialize.github.io/URI.js

API-интерфейсы этих библиотек должны быть просты в использовании, и уже опробованы.

Смежные вопросы