如何在 C# 中使用 Ipaddress 忽略电子邮件地址
How to ignore Email Address with Ipaddress in c#
我正在使用以下正则表达式来验证电子邮件地址,我正在使用服务器端验证。
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
上面的表达式完美地验证了电子邮件地址,但它没有验证 test@192.123.12.1 类型的电子邮件地址。
我没有使用 IP 地址作为域名的电子邮件地址来获得验证测试通过。我用谷歌搜索但没有找到任何有用的结果。
请帮帮我。我的问题是:test@192.123.12.1 不应该通过验证测试。
您可以在 @
之后使用前瞻,以确保在 @
之后至少有 1 个字母表
/\w+([-+.']\w+)*@(?=.*[a-zA-Z])\w+([-.]\w+)*\.\w+([-.]\w+)*/
(?=.*[a-zA-Z])
积极向前看。检查 @
是否包含字母表。如果此匹配项 returns 为真,则继续处理剩余的模式。否则会丢弃整个字符串。
测试
Regex pattern = new Regex(@"^\w+([-+.']\w+)*@(?=.*[a-zA-Z])\w+([-.]\w+)*\.\w+([-.]\w+)*$");
Console.WriteLine( pattern.IsMatch("name@mailinator.com"));
=> True
Console.WriteLine( pattern.IsMatch("test@192.123.12.1"));
=> False
我正在使用以下正则表达式来验证电子邮件地址,我正在使用服务器端验证。
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
上面的表达式完美地验证了电子邮件地址,但它没有验证 test@192.123.12.1 类型的电子邮件地址。
我没有使用 IP 地址作为域名的电子邮件地址来获得验证测试通过。我用谷歌搜索但没有找到任何有用的结果。
请帮帮我。我的问题是:test@192.123.12.1 不应该通过验证测试。
您可以在 @
之后使用前瞻,以确保在 @
/\w+([-+.']\w+)*@(?=.*[a-zA-Z])\w+([-.]\w+)*\.\w+([-.]\w+)*/
(?=.*[a-zA-Z])
积极向前看。检查@
是否包含字母表。如果此匹配项 returns 为真,则继续处理剩余的模式。否则会丢弃整个字符串。
测试
Regex pattern = new Regex(@"^\w+([-+.']\w+)*@(?=.*[a-zA-Z])\w+([-.]\w+)*\.\w+([-.]\w+)*$");
Console.WriteLine( pattern.IsMatch("name@mailinator.com"));
=> True
Console.WriteLine( pattern.IsMatch("test@192.123.12.1"));
=> False