@Vasia1993

Как проверить регуляркой значение инпута которое будет идти после скобки?

Подскажите пожалуйста как проверить регуляркой пришедшее из инпута значение, а именно первое число которое будет идти после открывающиеся скобки (?
то есть должен прийти номер такого типа:
8(354), вот как регуляркой добраться до цифры 3 и указать, что она должна идти именно после скобки
  • Вопрос задан
  • 214 просмотров
Решения вопроса 1
trapwalker
@trapwalker
Программист, энтузиаст
Есть замечательный инструмент для отладки регекспов: https://regex101.com/
Вот пример регулярки, которая решает вашу проблему:
.*\((\d+)
Первая группа даст вам ваше число.
Подробнее: здесь жадно пропускаются все символы до скобки, за которой есть хотя бы одна цифра. Все цифры после этой скобки собираются в группу 1.
Этот же сайтик позволяет сгенерировать код примера на нескольких языках:
const regex = /.*\((\d+)/gm;
const str = `8(354)1234
8(354 456)789
`;
let m;

while ((m = regex.exec(str)) !== null) {
    // This is necessary to avoid infinite loops with zero-width matches
    if (m.index === regex.lastIndex) {
        regex.lastIndex++;
    }
    
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ljutaev
html-програмист
$('input[name="phone"]').on('change keyup', function() {
    var val = $(this).val();
    var digit = ('' + val)[2];
    if (digit == '0') {
      $(this).val(' ');
    }
  });

так проверяю не являеться третий символ 0 для телефона, можем чем-то поможет
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы