2016-02-06 2 views
1
href="something.do?something_id=-1&something=u_container_id=6445194287^something=70a6c7ca4f9d52001cb17e918110c72f"; 
href1="something.do?something=u_container_id=7757033893"; 
var id = href1.substr(href1.lastIndexOf("=") + 1 , href1.length); 

Эта работа хорошо подходит для href1, но не для href. Мне нужно создать код, который получит только значение container_id. Это может быть 10 цифр или меньше или больше, но будет только номераjquery/Получить только номер после определенного слова

+1

'вар ID = href1.match (/ container_id = (\ d +) /) [1];' –

ответ

2

Вы можете использовать match() с захватом группы регулярных выражений

href = "something.do?something_id=-1&something=u_container_id=6445194287^something=70a6c7ca4f9d52001cb17e918110c72f"; 
 
href1 = "something.do?something=u_container_id=7757033893"; 
 
var id = href1.substr(href1.lastIndexOf("=") + 1, href1.length); 
 

 
var id = href1.match(/container_id=(\d+)/)[1]; 
 

 
document.write(id);

Regex explanation here

Regular expression visualization

0

Вы можете использовать обычный выражение, чтобы найти все эти container_id = частей. Затем вы можете извлечь цифры для каждого матча:

href.match(/container_id=\d+/g).forEach(function(item){ 
    var id = item.split('=')[1]; 
    console.log(id); 
}); 
+0

Не только Yack до кода блоб, объяснить Это... –

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