zoukankan      html  css  js  c++  java
  • csharp:Validate email address using C#

     /// <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 = @"^(?!.)(""([^""
    \]|\[""
    \])*""|"
                + @"([-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 = @"^(?!.)(""([^""
    \]|\[""
    \])*""|" + @"([-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;
        }
    

      

  • 相关阅读:
    阮一峰的网络日志 算法
    Problem 2184 逆序数还原
    vs项目中使用c++调用lua
    多例模式
    关于O_APPEND模式write的原子性
    清醒
    编译时,遇到Couldn&#39;t build player because of unsupported data on target platform的解决方式
    把JavaScript和CSS放到外部文件里
    SSM框架——具体整合教程(Spring+SpringMVC+MyBatis)
    MMORPG网页游戏斩仙录全套源代码(服务端+client)
  • 原文地址:https://www.cnblogs.com/geovindu/p/13442774.html
Copyright © 2011-2022 走看看