【发布时间】:2010-10-30 17:55:51
【问题描述】:
这段代码总是提示"null",表示字符串与表达式不匹配。
var pattern = "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$";
function isEmailAddress(str) {
str = "azamsharp@gmail.com";
alert(str.match(pattern));
return str.match(pattern);
}
【问题讨论】:
-
电子邮件验证很难。务实地说,您只能假设它包含一个 @ 并且至少有一个 。在某处关注@,但如果你想避免疏远至少一些用户,那就是真的。除非您正在验证电子邮件命名策略更加结构化的特定域。
-
严格来说,你甚至不能假设有一个 .某处。例如,请参阅 ua ccTLD,它在顶层有 MX 记录。
-
为什么不能在表单中使用 type = "email"? @azamsharp
标签: javascript regex