@gsdev99

Как правильно написать регулярное выражение?

Продолжение темы:
Как сделать проверку на лимит вводимых символов и на не пустое значение?
Подскажите, пожалуйста, как правильно написать следующее регулярное выражение:
Можно ввести любые символы и цифры. Если количество введенных символов и цифр превышает двадцать, то будет ошибка. Если в поле пользователь ввел только пробел(ы) без символов, то будет ошибка. Предполагается, что минимум один символ должен быть введен.
https://regex101.com/
Я написал следующее решение, но не уверен, что оно подходящее:
\S.{0,20}
  • Вопрос задан
  • 84 просмотра
Решения вопроса 3
VicTHOR
@VicTHOR
(╮°-°)╮┳━━┳ ( ╯°□°)╯ ┻━━┻
\S{1,20}
точку убрать и будет подходящим
еще поставить флаг m и добавить ^ и $
/^\S{1,20}$/m
регулярка не матчит пробелы, матч от 1 до 20 символов

если пробелы писать можно, но нельзя только пробелы, сделай 2 проверки (сначала на пробелы, потом любые символы) и все.
Ответ написан
john36allTa
@john36allTa
That`s calling Walker
Лучше реплейсить сразу 2 и более пробела на один а затем можно применять ваш паттерн, получиться "Можно ввести любые символы и цифры".
let text = text.replace(/\s{2,}/g, ' ').trim();// trim уберет пробелы в начале и в конце

А если пробелы нельзя то
let regex=/^\S{1,20}$/g
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
21 нояб. 2019, в 21:19
2000 руб./за проект
21 нояб. 2019, в 19:47
999 руб./за проект