2013-11-12 3 views
0

У меня есть URL, как:jQuery: Как получить значение из URL?

http://domain/catergory/Education?max-post=5/ 

Как я могу получить Education из этого URL. Образование находится между "/" и "?".

Благодарим за помощь.

+0

Вы можете использовать регулярные выражения или 'метод split' (https: //developer.mozilla. орг/EN-US/Docs/Web/JavaScript/Refe rence/Global_Objects/String/split) –

ответ

3

Вы можете использовать регулярное выражение для этого:

var url = 'http://domain/catergory/Education?max-post=5/'; 

var val = url.match(/\/([^\/\?]*)\?/)[1]; 

Чтобы понять, регулярное выражение вы можете использовать этот сайт: http://regex101.com/r/aQ3yF1#javascript

+0

Чтение регулярных выражений - это волшебная вещь. – Nenotlep

+1

У меня есть подсказка, надеюсь, что эта ссылка более полезна. (И да, я нахожу, что писать regexp намного проще, чем читать регулярные выражения, написанные другими.) – Tibos

+0

tibos: Регулярное выражение очень хорошее. –

3

Вы можете использовать split, она разбивает объект String, в массив строк, разделяя строку на подстроки.

var url = "http://domain/catergory/Education?max-post=5/"; 
var arr = url.split("?")[0].split("/"); 
var edu = arr[arr.length - 1] 
console.log(edu); 

DEMO

+1

Спасибо вам большое –

1
function getQuery(key) { 
    var queryStr = location.search.match(new RegExp(key + "=(.*?)($|\&)", "i")); 
    if (!queryStr) 
     return 

    return queryStr[1]; 
} 

var id = getQuery('id'); 
var comment = getQuery('comment'); 

Source

1

Попробуйте

var url = window.location.pathname; 
value = url.replace('http://domain/catergory/',''); 
value = value.substring(0, s.indexOf('?')); 
1
var url = "http://domain/catergory/Education?max-post=5/"; 
var arr = url.split("?")[0].split("y/"); 
var edu = arr[1] 
console.log(edu); 
Смежные вопросы