Ищем RegEx для проверки строки из ввода в форме HTML с Javascript - PullRequest
0 голосов
/ 19 июня 2020

Мне нужно проверить строку из ввода в форме HTML с помощью Javascript RegEx.

Может быть неограниченное количество «слов» (любая комбинация букв и цифр - [a-zA-Z0-9], без символов, подчеркиваний, дефисов, дефисов), разделенных одним пробелом (" ", не обязательно после последнего" слова "или первого, если есть только одно). Минимальная длина каждого из этих «слов» - 3 символа, максимальная - 10 символов.

Например, строка, которая может быть действительной - «bob BoB4U BOB4EVER 112233».

Наличие любого из следующие «слова» должны сделать строку недействительной: bo, b@b, bobobobobobobob, bob-4-u, b_o_b.

Найдено RegEx для длины строки: ^ (? = [\ S \ s] {3,10} $) [\ S \ s] *, попытался поиграть с ним.

Также попытался объединить предыдущее с чем-то вроде ^ ([a-zA-Z0-9] { 3,10} \ s?) * $, Но увы не обошлось.

ОБНОВЛЕНИЕ. Приведенные выше строки и слова - это просто ПРИМЕР. Мне не нужно фильтровать эти конкретные слова, это просто для визуального представления действительных и недействительных элементов.

1 Ответ

1 голос
/ 19 июня 2020

Может быть более чистый способ записи, но базовый пример c будет ноль или более раз сопоставить его с пробелом и по крайней мере один с концом строки.

var re = /^([a-z0-9]{3,10}\s)*[a-z0-9]{3,10}$/i;

Визуализируйте это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...