2016-05-04 2 views
0

У меня есть следующий адресJavaScript регулярные выражения

http://www.test.info/?id=50&size=40 

Как получить значение параметра URL-адреса с помощью регулярных выражений в JavaScript. Мне нужно значение размера, а также URL-адрес без &?

только

http://www.test.info/?id=50 

Благодаря

+0

нет нет параметр Идентификатор мне нужно значение после того, как и размер = 40 –

+0

и нуждаются в URL, как без & http://www.test.info /? id = 50 –

+0

это именно то, что вам нужно, посмотрите на этот ответ –

ответ

0

Рассмотрите возможность использования split вместо того, чтобы регулярное выражение:

var splitted = 'http://www.test.info/?id=50&size=40'.split('&'); 
var urlWithoutAmpersand = splitted[0]; 
// now urlWithoutAmpersand => 'http://www.test.info/?id=50' 
var sizeValue = splitted[1].split('=')[1] * 1; 
// now sizeValue => 40 
+0

не отвечает на вопрос. Ваше решение не является ни регулярным выражением, ни значением параметра param. –

+0

@SebastienDaniel Я отредактировал свой ответ, но так или иначе, не так ли предложить другой способ сделать это? –

+0

ваш ответ лучше, но он сломается, если будут добавлены дополнительные параметры. И да, это нормально, чтобы предлагать различные решения ... если они отвечают на вопрос. –

0

Просто используйте это в качестве регулярного выражения

size.*?(?=&|$) 

здесь некоторый код вы можете использовать

var re = /size.*?(?=&|$)/g; 
var myArray = url.match(re); 
console.log(myArray); 

вы также можете сделать это это:

var re = new RegExp("size.*?(?=&|$)", "g"); 
+0

, который также захватит что-нибудь зацепление ПОСЛЕ параметра размера, даже дополнительные параметры. –

+0

что вы думаете сейчас? –

+0

Гораздо лучше. Я бы добавил, что совпадению «размер» должно предшествовать? | & Так же, так как вы не хотите совпадения с URL-адресом, –

0

Это шаблон регулярного выражения, который вы могли бы использовать.

^(.+)&size=(\d+) 

Первая группа будет URL до прямо перед знаком «&». Вторая группа будет значением параметра размера. Это предполагает, что id всегда приходит до размера, и есть только два параметра: id и размер.

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