1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
/// <summary> /// /// </summary> /// <param name="email"></param> /// <returns></returns> public bool IsValidEmail( string email) { try { var addr = new System.Net.Mail.MailAddress(email); return addr.Address == email; } catch { return false ; } } /// <summary> /// using System.ComponentModel.DataAnnotations; 4.5 over 涂聚文(Geovin Du)标注 /// </summary> /// <param name="source"></param> /// <returns></returns> public bool IsValidEmailDu( string source) { //https://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/EmailAddressAttribute.cs,54 return new EmailAddressAttribute().IsValid(source); } static Regex ValidEmailRegex = CreateValidEmailRegex(); /// <summary> /// Taken from http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx /// </summary> /// <returns></returns> private static Regex CreateValidEmailRegex() { string validEmailPattern = @"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|" + @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(?<!\.)\.)*)(?<!\.)" + @"@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]$" ; return new Regex(validEmailPattern, RegexOptions.IgnoreCase); } internal bool EmailIsValid( string emailAddress) { bool isValid = ValidEmailRegex.IsMatch(emailAddress); return isValid; } /// <summary> /// /// </summary> /// <param name="email"></param> /// <returns></returns> public bool EmailIsValidGeovin( string email) { string expression = "\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*" ; if (Regex.IsMatch(email, expression)) { if (Regex.Replace(email, expression, string .Empty).Length == 0) { return true ; } } return false ; } /// <summary> /// /// </summary> /// <param name="email"></param> /// <returns></returns> public static bool IsValidEmailTu( this string email) { string pattern = @"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|" + @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(?<!\.)\.)*)(?<!\.)" + @"@[a-z0-9][\w\.-]*[a-z0-9]\.[a-z][a-z\.]*[a-z]$" ; var regex = new Regex(pattern, RegexOptions.IgnoreCase); return regex.IsMatch(email); } /// <summary> /// /// </summary> /// <param name="emailAddress"></param> /// <returns></returns> public static bool IsValidEmailAddress( string emailAddress) { bool MethodResult = false ; try { System.Net.Mail.MailAddress m = new System.Net.Mail.MailAddress(emailAddress); MethodResult = m.Address == emailAddress; } catch //(Exception ex) { //ex.HandleException();https://stackoverflow.com/questions/1365407/c-sharp-code-to-validate-email-address } return MethodResult; } /// <summary> /// /// </summary> /// <param name="InputEmail"></param> /// <returns></returns> public static bool IsValidEmailId( string InputEmail) { Regex regex = new Regex( @"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$" ); Match match = regex.Match(InputEmail); if (match.Success) return true ; else return false ; } /// <summary> /// /// </summary> /// <param name="emailAddress"></param> /// <returns></returns> public bool ValidateEmail( string emailAddress) { string regexPattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$" ; Match matches = Regex.Match(emailAddress, regexPattern); return matches.Success; } |