2014-12-10 4 views
2

Я пытаюсь получить определенное число из строки. Но я не могу понять, как изолировать ту часть, которая мне нужна.Получить номер из строки через JS regex

Строка:

https://intra.site.com/departments/travel/Lists/Booking/fd_Item_Display.aspx?List=8af14ed7-3bde-4ec0-b62a-9516324c967e&ID=15&Source=https%3A%2F%2Fintra%2Emonjasa%2Ecom%2Fdepartments%2Ftravel%2FPages%2Fdefault%2Easpx&ContentTypeId=0x0100B7DC1AFF519B6343BC8014EB1910DFAB 

Мне нужен номер после ID=.

Я старался использовать string.replace() без везения.

Как я могу сделать это с помощью регулярного выражения?

ответ

1

Вы можете использовать:

var str = 'https://intra.site.com/departments/travel/Lists/Booking/fd_Item_Display.aspx?List=8af14ed7-3bde-4ec0-b62a-9516324c967e&ID=15&Source=https%3A%2F%2Fintra%2Emonjasa%2Ecom%2Fdepartments%2Ftravel%2FPages%2Fdefault%2Easpx&ContentTypeId=0x0100B7DC1AFF519B6343BC8014EB1910DFAB'; 
var id = (str.match(/&ID=([^&]*)/i) || ['', ''])[1]; 
//=> 15 
+1

Thx m8 - это прекрасно работает. Я поставлю правильный ответ за 10 минут. – TietjeDK

+0

Добро пожаловать, рад, что это сработало. – anubhava

3

Проверьте это:

function getParameterByName(url, parameter) { 
    var regex = new RegExp("[\\?&]" + parameter + "=([^&#]*)"), 
    results = regex.exec(url); 
    return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

var url = 'https://intra.site.com/departments/travel/Lists/Booking/fd_Item_Display.aspx?List=8af14ed7-3bde-4ec0-b62a-9516324c967e&ID=15&Source=https%3A%2F%2Fintra%2Emonjasa%2Ecom%2Fdepartments%2Ftravel%2FPages%2Fdefault%2Easpx&ContentTypeId=0x0100B7DC1AFF519B6343BC8014EB1910DFAB'; 
var parameter = 'ID'; 

console.log(getParameterByName(url, parameter)); 
// Log => 15 
1

Попробуйте это. Легче понять.

 
 

 
    function getID() 
 
    { 
 
     
 
    var str = "https://intra.site.com/departments/travel/Lists/Booking/fd_Item_Display.aspx?List=8af14ed7-3bde-4ec0-b62a-9516324c967e&ID=15&Source=https%3A%2F%2Fintra%2Emonjasa%2Ecom%2Fdepartments%2Ftravel%2FPages%2Fdefault%2Easpx&ContentTypeId=0x0100B7DC1AFF519B6343BC8014EB1910DFAB"; 
 

 
    var id = str.match(/ID=(\d*)/)[1];   
 
     
 
    alert(id); 
 
     
 
    }
<input type="button" onclick="getID()" value="Click me">

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