У меня есть форма с множественным ввода текста, как:JS регулярное выражение: не в состоянии вернуть массив соответствует
<div class="width-height">
<input value="" name="items[1][width]" type="text">
<br>
<input value="" name="items[1][height]" type="text">
</div>
<div class="width-height">
<input value="" name="items[2][width]" type="text">
<br>
<input value="" name="items[2][height]" type="text">
</div>
Я пытаюсь получить с JS Еогеасп «номер» и «ширина» или «высота» в массиве
лучший результат возможности должен быть массив с 2 значения в console.log
:
1,width
1,height
2,width
2,height
стараюсь 2 регулярное выражение:
// first: /\d\]\[[a-z]+/i
// second: /\d\]\[\w+/g
$('.width-height > input').each(function() {
console.log("1 : " + $(this).attr('name').match(/\d\]\[[a-z]+/i));
console.log("2 : " + $(this).attr('name').match(/\d\]\[\w+/g));
});
но результат только:
1 : 1][width
2 : 1][width
Я пытался использовать uncapture настройки для исключения части, что мне не нужно:
console.log("3 : " + $(this).attr('name').match(/(?:\w+\[)\d(?:\]\[)\w+/g));
но возвращает только 1 строку
3 : items[1][width
Я думаю, что я не понимаю что-то в regex .. с не-захватом и флагом «g», я думаю, что он должен вернуть все возможности ily без захвата и построить массив с извлекаемым значением, но .. не ..: -/
Трансы для вашей помощи!
хорошее объяснение, спасибо –