Raja Ganapathy Ответов: 2

Какие специальные символы принимать для идентификатора электронной почты ?


Я использовал (@"[~`!@#$%^&усилитель;*()-+=|\{}':;.,<>/?]"); Этот специальный символ для электронной почты.
но
я использую этот ' специальный символ, приведенный ниже исключения throw
'System.Data.DataRowView' does not contain a property with the name


я использую этот специальный символ <, приведенный ниже error throw
A potentially dangerous Request.Form value was detected from the client (ctl00$cphSiteMasterBody$tbxReRegisterRefNo="ghj<fh").


Что я уже пробовал:

я использовал регулярное выражение regex, чтобы ограничить эти два специальных символа, но мне нужны и эти символы.

2 Ответов

Рейтинг:
12

OriginalGriff

Адреса электронной почты не могут содержать символы "< " или "> " в любое время: Адрес электронной почты-Википедия, свободная энциклопедия[^]
Даже в этом случае правила различны для локальной и доменной частей адреса " local@domain"
Это ясно говорит о том, что доменная часть может содержать только:

uppercase and lowercase Latin letters A to Z and a to z;
digits 0 to 9, provided that top-level domain names are not all-numeric;
hyphen -, provided that it is not the first or last character.
Никакие другие специальные символы не являются допустимыми.
Местная часть более гибкая:
uppercase and lowercase Latin letters A to Z and a to z;
digits 0 to 9;
special characters !#$%&'*+-/=?^_`{|}~;
dot ., provided that it is not the first or last character unless quoted, and provided also that it does not appear consecutively unless quoted (e.g. John..Doe@example.com is not allowed but "John..Doe"@example.com is allowed);
space and "(),:;<>@[\] characters are allowed with restrictions (they are only allowed inside a quoted string, as described in the paragraph below, and in addition, a backslash or double-quote must be preceded by a backslash);
comments are allowed with parentheses at either end of the local-part; e.g. john.smith(comment)@example.com and (comment)john.smith@example.com are both equivalent to john.smith@example.com.

Если вы говорите о тексте сообщения, то вообще говоря в '<' и в '>' будет разделять HTML-форматирование данных, которая обычно разрешается, но любое другое использование таких символов необходимо заменить их с &lt; и &gt; соответственно для того, чтобы показать им, как < и >, когда пользователь читает почту.


Raja Ganapathy

если бы я использовал rj'gmail.com бросьте вышеприведенное исключение

Afzaal Ahmad Zeeshan

Почему вы хотите использовать один qoute в своем адресе электронной почты? Держите его только буквенно-цифровым. Период.