Я пытаюсь создать regex
для проверки имен пользователей, которые должны соответствовать следующим:Regex чтобы соответствовать имя пользователя
- только один специальный символ
(._-)
разрешено, и это не должно быть на extremas струны - первый символ не может быть числом
- Все остальные символы разрешены буквы и цифры
- общая длина должна составлять от 3 до 20 символов
Это шаблон шаблона HTML5, поэтому, к сожалению, это должно быть одно большое регулярное выражение.
До сих пор это то, что у меня есть:
^(?=(?![0-9])[A-Za-z0-9]+[._-]?[A-Za-z0-9]+).{3,20}
Но положительный предпросмотр может повторяться более чем один раз, что позволяет быть более чем один специальный символ, который не то, что я хотел. И я не знаю, как это исправить.
Не ответ еще - но вам нужно разбить '.' в' [._-] '. – amit
Для чего-то такого сложного, почему вы выбираете шаблон шаблона html? Вы можете вызвать событие, которое обрабатывает проверку, а не шаблон. – Eclecticist
@amit [._-] - единственный символ в списке «._-» буквально, поэтому точка не считается символом, поэтому я думаю, что мне не нужно ее разбивать. – Tofandel