.net(正则表达式)检查EMAIL
2013-07-29 10:27
211 查看
using System; using System.Globalization; using System.Text.RegularExpressions; public class RegexUtilities { bool invalid = false; public bool IsValidEmail(string strIn) { invalid = false; if (String.IsNullOrEmpty(strIn)) return false; // Use IdnMapping class to convert Unicode domain names. try { strIn = Regex.Replace(strIn, @"(@)(.+)$", this.DomainMapper, RegexOptions.None, TimeSpan.FromMilliseconds(200)); } catch (RegexMatchTimeoutException) { return false; } if (invalid) return false; // Return true if strIn is in valid e-mail format. try { return Regex.IsMatch(strIn, @"^(?("")(""[^""]+?""@)|(([0-9a-z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-z])@))" + @"(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-z][-\w]*[0-9a-z]*\.)+[a-z0-9]{2,17}))$", RegexOptions.IgnoreCase, TimeSpan.FromMilliseconds(250)); } catch (RegexMatchTimeoutException) { return false; } } private string DomainMapper(Match match) { // IdnMapping class with default property values. IdnMapping idn = new IdnMapping(); string domainName = match.Groups[2].Value; try { domainName = idn.GetAscii(domainName); } catch (ArgumentException) { invalid = true; } return match.Groups[1].Value + domainName; } }
public class Application{public static void Main(){RegexUtilities util = new RegexUtilities();string[] emailAddresses = { "david.jones@proseware.com", "d.j@server1.proseware.com","jones@ms1.proseware.com", "j.@server1.proseware.com","j@proseware.com9", "js#internal@proseware.com","j_9@[129.126.118.1]", "j..s@proseware.com","js*@proseware.com", "js@proseware..com","js@proseware.com9", "js@proseware.com9", "j.s@server1.proseware.com" };foreach (var emailAddress in emailAddresses) {if (util.IsValidEmail(emailAddress))Console.WriteLine("Valid: {0}", emailAddress);elseConsole.WriteLine("Invalid: {0}", emailAddress);}}}
相关文章推荐
- 检查Email格式是否合法的正则表达式
- .net 正则表达式验证email
- 比较全面的Email正则表达式、对于特殊的邮箱Email也可以检查
- 浅析检查email的正则表达式
- 正则表达式简单的检查输入email是否合法程序
- JavaScript 检查 email 地址的正则表达式
- .net之EMail正则表达式验证
- js---全面正则表达式语法,常用正则检查表达式手机号email地址url检查
- 从.net生成的html中找到的一个验证email地址的函数(正则表达式)
- 正则表达式例子:php中检查email完整性
- 检查Email格式是否合法的正则表达式
- JavaScript 检查 email 地址的正则表达式
- 浅析检查email的正则表达式
- 正则表达式检查IP类型和EMAIL字符串的格式(Javascript实现)
- .net 正则表达式的应用
- 【转】通过例子学习正则表达式(三)--检查E-mail地址及其他
- 最严谨的校验email地址的正则表达式
- js正则表达式 验证手机号,email地址和邮政编码
- .net之旅-分隔符的正则表达式处理 (44)
- JavaScript email邮箱/邮件地址的正则表达式及分析