Подтвердить что ты не робот

Preg_match в JavaScript?

Возможно ли в JavaScript сделать что-то вроде preg_match в PHP?

Я хотел бы получить два числа из строки:

var text = 'price[5][68]';

в две разделенные переменные:

var productId = 5;
var shopId    = 68;

Изменить: Я также использую MooTools, если это поможет.

4b9b3361

Ответ 1

JavaScript имеет объект RegExp, который делает то, что вы хотите. Объект String имеет функцию match(), которая поможет вам.

var matches = text.match(/price\[(\d+)\]\[(\d+)\]/);

Ответ 2

var text = 'price[5][68]';
var regex = /price\[(\d+)\]\[(\d+)\]/gi;
match = regex.exec(text);

match [1], а совпадение [2] будет содержать номера, которые вы ищете.

Ответ 3

var thisRegex = new RegExp('\[(\d+)\]\[(\d+)\]');

if(!thisRegex.test(text)){
    alert('fail');
}

Я нашел тест, чтобы действовать более preg_match, поскольку он обеспечивает логическое возвращение. Однако вам нужно объявить переменную RegExp.

СОВЕТ: RegExp добавляет его в/в начале и в конце, поэтому не передавайте их.

Ответ 4

Это должно работать:

var matches = text.match(/\[(\d+)\][(\d+)\]/);
var productId = matches[1];
var shopId = matches[2];

Ответ 5

var myregexp = /\[(\d+)\]\[(\d+)\]/;
var match = myregexp.exec(text);
if (match != null) {
    var productId = match[1];
    var shopId = match[2];
} else {
    // no match
}