0

可能重复:
使用正则表达式验证电子邮件地址

我刚刚为电子邮件地址做了一个 RE。它是一个最简单的并且运行良好。但我想让它变得更好。我的意思是说,电子邮件地址可以包含字母数字字符、下划线“_”、点“。” 但不能包含连字符“-”、分号“;” 等等。下面是我刚刚为电子邮件地址制作的 RE。

<!DOCTYPE html>
<html>
<body>

<script>
str = "assad-ch7@Yahoo.com";

re = /[a-z0-9][@]((yahoo)|(hotmail)|(gmail))[.]((com)|(co.uk))/i; 


result = re.test(str);

document.write(result);

</script>

</body>
</html>

此外,这是为电子邮件地址制作 RE 的正确方法吗?

4

1 回答 1

1

如果您想将电子邮件地址限制在这些域中,这还不错。虽然有一些修复

  1. 需要 _ 和 . 在第一个字符类
  2. 在第一个字符类之后添加 + 以捕获 @ 之前的所有字符
  3. 删除 @ 和 . 从字符类括号
  4. 删除不必要的额外括号
  5. 反斜杠文字句点(在字符类中是不必要的)

var re = /[a-z0-9_.]+@(yahoo|hotmail|gmail)\.(com|co\.uk)/i;

于 2012-12-05T21:34:11.377 回答