将JavaScript正则表达式转换为C#正则表达式以进行电子邮件验证

将JavaScript正则表达式转换为C#正则表达式以进行电子邮件验证,c#,javascript,regex,C#,Javascript,Regex,如何将以下javascript正则表达式转换为c#regex 简单地将字符串传递到C#Regex类并返回匹配项是行不通的。我认为字符串需要编辑,但我不是正则表达式专家。当您使用C#时,您应该能够使用类验证电子邮件地址。您可以这样使用它: public bool IsValidEmailAddress(string emailAddress) { try { MailAddress m = new MailAddress(emailAddress);

如何将以下javascript正则表达式转换为c#regex

简单地将字符串传递到C#Regex类并返回匹配项是行不通的。我认为字符串需要编辑,但我不是正则表达式专家。

当您使用C#时,您应该能够使用类验证电子邮件地址。您可以这样使用它:

public bool IsValidEmailAddress(string emailAddress)
{
    try
    {
        MailAddress m = new MailAddress(emailAddress);
        return true;
    }
    catch (FormatException)
    {
        return false;
    }
}

有时你可以不使用正则表达式,尤其是如果你不是专家的话。

@Mark13426:这似乎是因为其中使用了unicode和八进制符号

相反,您完全可以使用以下正则表达式:

^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$

((““+?”@)([0-9a-zA-Z]((\.(?!\))[124;[-!\\$%和'\*\+/=\?\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\(?我不想调试这个正则表达式。这有多全面?我担心它不会那么详细,所以服务器端不会那么健壮。对不起,我只是想确保我的电子邮件验证系统不弱。我以为你想用C验证电子邮件地址。对不起。如果不是这样,我想你应该编辑你的问题n为了解释您试图实现的目标…我试图验证客户端和服务器上的电子邮件地址,因此我使用javascript代码进行客户端验证。
^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&'\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$