Подскажите, пожалуйста, как должно выглядеть регулярное выражение для проверки имени пользователя, которое не должно начинаться с цифры и должно состоять только из букв, цифр и символа "-".
Вот что я пытался сделать:
/[^0-9][a-zA-Z0-9\-]*$/
Заранее спасибо!
Попробуйте вот это выражение: ^[a-zA-Z][a-zA-Z0-9-]+$
. Объяснение:
^
обозначает начало строки$
- конец строки[]
идет перечисление тех символов, что должны быть в начале, так как стоят после ^
a-zA-Z
- это всего символы английского алфавита во всех регистрах[a-zA-Z0-9-]
.+
так как необходимо иметь от одного символа, чтобы ник был как минимум 2 символа. Если это не надо, то замените +
на *
Если все правильно понял в вашем вопросе, то решение должно сработать. Советую пользоваться веб-сервисом regex101.com, где есть подсказки и автоматическая валидация результата
У вас все нормально. За исключением [^0-9]
. Лучше заменить на [a-z]
и поставить маркер начала строки ^
, получится так:
'/^[a-z][a-z0-9-]*$/i'
Знак ^
означает начало строки.
Знак $
означает конец строки.
Имея в одной регулярке и ^
и $
строка пройдёт тест если будет соответствовать регулярке полностью от начала до конца.
Знак i
в конце - это флаг регистровой независимости. То есть a
будет означать как a
так и A
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Всем привет! Как при отправке ajax запроса, либо при его получении обработчиком изменить формат даты? input type="date" принимает дату в формате...
Только начинаю взаимодействие с БД в С#, наткнулся вот на такую проблему, версия EF 62
Сделал 2D игру, на С# и MonogameОтправил её в steam на проверку