2010-09-22 3 views
0

Я пытался найти хороший RegEx для проверки подлинности электронной почты.Является RegEx, используемым System.Net.Mail.MailAddress

Я уже прошел через Comparing E-mail Address Validating Regular Expressions, и этого не хватало всей моей проверки. У меня есть Google/Bing (ed) и просматриваются 50 лучших нечетных результатов, включая статью с регулярными выражениями и другие материалы.

Так что, наконец, я использовал класс System.Net.Mail.MailAddress для проверки своего адреса электронной почты. Поскольку, если это не удается, моя электронная почта не будет отправлена ​​пользователю.

Я хочу настроить валидацию, используемую конструктором класса.

Итак, как мне пойти и получить проверку/RegEx, которую использует класс MailAddress?

ответ

0

Thanks Отражатель ... забыл, что ты по-прежнему бесплатно!

отражали System.Net.Mail.MailAddress ...

Найдены, что он использовал void ParseValue(string address)

и void GetParts(string address) метод для первичной проверки формата электронной почты.

// Edited

Удивленный, не RegEx не участвовал!

+0

Вот пример использования исходного кода для разбора http://referencesource.microsoft. ком/# система/сеть/System/Net/почта/MailAddressParser.cs – stefann

2

Нет, он не использует RegEx, а сложный процесс, который слишком долго объяснял бы здесь. Откуда мне знать? Я посмотрел на реализацию с использованием .NET Reflector. И так что вы можете: D

http://www.red-gate.com/products/reflector/ (это бесплатно)

+0

Точно, что я только что сделал! Я бы пошел с каким-то стандартом для вашего Regex - вероятно, найденным в одном из 50 нечетных результатов, на которые вы смотрели. –

+0

Спасибо, ребята! Просто забыл, что рефлектор все еще существует, и MS не обфускает свой код, как это делают другие поставщики API. :) – Vaibhav

+0

Здесь используется исходный код для разбора http://referencesource.microsoft.com/#System/net/System/Net/mail/MailAddressParser.cs – stefann

0

В соответствии с рефлектором класс не использует регулярные выражения вообще.

Смежные вопросы