ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

csharp:Validate email address using C#

2021-01-06 18:57:41  阅读:243  来源: 互联网

标签:Regex return string C# csharp public bool address email


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;
   }
  

哲学管理(学)人vb.net教程生, 文学艺术生活, 自动(计算机学)c#教程物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情python基础教程商(IQ、EQ)运筹(学)成功.—Geovin Du(涂聚文)

标签:Regex,return,string,C#,csharp,public,bool,address,email
来源: https://blog.csdn.net/chinaherolts2008/article/details/112290950

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有