js регулярное выражение цифры от 6 до 10 знаков

Рейтинг: 1Ответов: 2Опубликовано: 15.08.2023

мне нужна регулярка, которая будет разрешать: запятые, пробелы и цифры, я написал такую

/^[0-9,\s]*$/i;

но суть в том, что цифры должны быть от 6 до 10 знаков, то есть 000323,34345345, 1234567890, - это допустимое значение в поле, здесь есть запятые, пробелы и цифры, 45,4,1234567891011 - это уже не норм, потому что цифры, а точнее числа каждое отделенное запятой меньше 6 символов и больше 10 символов в длину, подскажите что нужно добавить в regexp, чтобы это поправить

Ответы

▲ 2Принят
//        группы от 6 до 10 цифр
//             -----------
    /^([,\s]*\b[0-9]{6,10}\b[,\s]*)*$/
//           --           --
//  границы слов запрещают двум группам сливаться вместе
▲ 0

Попробуйте так:

^(?:[\s,]*(?<!\d)\d{6,10}(?!\d))+[\s,]*$

Разрешаем 1+ групп цифр от 6 до 10 цифр \d{6,10}, за пределами этих групп разрешаем 0+ пробельных символов и запятых. Каждая цифровая группа ограничена НЕ-цифрой слева и справа (негативные просмотры назад (?<!\d) и вперед (?!\d)). Поскольку оцениваем весь текст целиком, то зона действия выражения - от начала ^ до конца $ строки

Демо