_
не дефис, это подчеркивание. Дефис -
Если это нормально, чтобы начать адрес электронной почты, с подчеркиванием, добавить _
к обоим классам символов, которые предстают перед @
^[-a-zA-Z0-9_][-.a-zA-Z0-9_]*@...
Если электронный идентификатор не может начинаться с _
, добавить это только второй класс символов:
^[-a-zA-Z0-9][-.a-zA-Z0-9_]*@...
Тем не менее, ваше регулярное выражение имеет несколько вопросов:
- Принимает адреса электронной почты, начинающиеся с дефиса; это предназначено? Если нет, то удалите
-
с первого класса персонажа, чтобы сделать его [a-zA-Z0-9]
- Он принимает последовательные периоды после первого символа, тем самым делая
[email protected]
действительный идентификатор - это статус-по-дизайн?
Спецификация RFC для адреса электронной почты довольно сложная. См. thesethreads для получения дополнительной информации. Также не забудьте проверить один и только perfect and the official regex для проверки адреса электронной почты (имейте в виду, что вы могли бы найти это немного больше, чем то, что здравомыслие бы предложить)
Вы имеете в виду символы подчёркивания, как в: _? Дефисы - технически моя жена писателя говорит мне, что разница между тире и дефисом - но я буду проклят, если узнаю, что это такое. – Meep3D
Да, я имел в виду подчеркивание. Для меня слишком рано, чтобы я работал с регулярными выражениями. :) Спасибо, что поймал мою ошибку! – Sesame
Разница между дефисами, тире, минами и т. Д. Pp достаточно раздражает, чтобы они сформировали свой собственный класс символов юникода: «Пунктуационная черта» –