2016-05-04 2 views
0

Я пытаюсь написать основное регулярное выражение для проверки адреса электронной почты. В этом конкретном случае я пытаюсь убедиться, что введенная строка содержит только буквы, цифры, "." а также "@". Или, другими словами, я уверен, что он не включает символы, такие как £ & ¬! и т. д.Отрицательные символы для электронной почты Regex

Я попытался получить версию НЕ этого [[: alnum:]. @] +, чтобы он выделял символ не в этом наборе, но я не мог заставить его работать. Я также пробовал символы, но не в [\ W. @] + (Предполагается, что он должен быть экранирован, но stackoverflow удаляет \ из этого сообщения), но \ W все еще набирает. и @ символов.

+0

На каком языке вы используете? – kennytm

+0

Он будет использоваться в машинописных текстах/Angular2 – Mufasatheking

+0

Если я правильно понял вас, вы говорите: '\ W' подбирает' .' и '@'? Это означает, что вы не можете использовать '\ W', верно? Я бы подумал, если вы хотите строку, которая имеет только буквы, цифры,. и @, вам нужно '[\ w. @]', отметить нижний регистр 'w' и не делать никакого отрицания. Sidenote, я уверен (не положительно), что вам не нужно скрывать '.' внутри скобок – dwanderson

ответ

0

Вы можете ...

  • ... подходит для позитивов (регулярного выражения вашего плюса анкеров, чтобы убедиться, что он соответствует полной тестовой строке)
    (^[[:alnum:][email protected]]+$)
  • ... подходят для негативов, что означает, что в каком-то момент недопустимый символ происходит
    ([^[:alnum:][email protected]])

... и проверьте, не было ли совпадения. n первый случай, который означает «ok», во втором «fail».

Theer - это диалекты регулярных выражений, которые не поддерживают классы символов posix, в этом случае заменяют [:alnum:] на 0-9a-zA-Z.

0

Существует множество примеров шаблонов регулярных выражений для адресов электронной почты. Здесь очень простой/наивный, который позволяет использовать только буквенно-цифровые и периоды (и одно @). Это один не волнует, если доменная часть находится в допустимом формате (то есть такие вещи, как «ABC @ gmail.com ...... ком» будет проходить):

^[A-Za-z0-9.][email protected][A-Za-z0-9.]+$ 
Смежные вопросы