日期:2014-05-18  浏览次数:20480 次

Email正则,请大家帮看看,再想想办法。
我想把Email中如下格式的定为非法如:“@-”(例:hanguoji@-f21.com)
下面是现在用的验证Email的正则表达式:

Regex.IsMatch(strIn,   @ "^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ ");


请大家帮忙改改谢谢!!

------解决方案--------------------
只是@后不能为- ?

@ "^([\w-\.]+)@(?!-)((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ "
------解决方案--------------------
string sourceString = @ "hanguoji@f21.com ";
string pattern = @ "^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([^-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$ ";
System.Text.RegularExpressions.Match result = Regex.Match(sourceString,pattern,System.Text.RegularExpressions.RegexOptions.IgnoreCase);

if (result.Success)
{
//提示正确信息
//WL( "正确: " + result.Groups[1].Value);//输出
WL( "正确: " + result.Value);//输出
}
else
{
//提示错误信息
WL( "错误! ");//输出
}

-------------------------------------------
MSN:bdbox@hotmail.com
请给我与您交流的机会
------解决方案--------------------
ValidationExpression= "\w+([-+. ']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ">