我需要检查动作脚本中给定的电子邮件地址是否无效。以下是我提出的代码/正则表达式。
private function isEmailInvalid(email:String):Boolean
{
var pattern:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
var result:Object = pattern.exec(email);
if(result == null) {
return true;
}
return false;
}
但似乎上面的代码并未涵盖以下链接中的所有测试用例: http://blogs.msdn.com/b/testing123/archive/2009/02/05/email-address-test-cases.aspx
有没有人有更好的方法呢?
Folowing是我使用的经过测试的有效电子邮件(上面的函数应该返回“false”):
firstname.lastname@domain.com
firstname+lastname@domain.com
email@domain.co.jp
Folowing是无效的(因此函数应该为这些返回“true”):
email@domain@domain.com
.email@domain.com
email..email@domain.com
plainaddress, email@domain..com
答案 0 :(得分:0)
答案 1 :(得分:0)
试试这个RegExp:
RegExp = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;