电子邮件Id验证不接受@符号前的下划线

本文关键字:下划线 符号 Id 验证 不接受 电子邮件 | 更新日期: 2023-09-27 18:01:15

我有以下用于电子邮件ID验证的代码。我正在使用正则表达式来执行此操作。但是,以下电子邮件Id无效。

test_@gmail.com

正则表达式中应该更改什么以便传递电子邮件Id(test_@gmail.com(

 public static 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, @"(@)(.+)$", DomainMapper);
            }
            catch (Exception e)
            {
                Utility.writeToLogFile(String.Format("Error while validating the Email Address {0}. Error Code.e", strIn.ToString(), e));
                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);

            }
            catch (Exception e)
            {
                Utility.writeToLogFile(String.Format("Error while validating the Email Address {0}. Error Code.e", strIn.ToString(), e));
                return false;
            }
        }

电子邮件Id验证不接受@符号前的下划线

您的正则表达式在中失败

test_@gmail.com

因为零件CCD_ 2明确要求在"@"之前有一个字母或数字。

对于解决方案,我也建议这个答案,就像爱德华·杜米特鲁在他的评论中所说的那样。