如何限制javascript正则表达式中的某些特定字符

时间:2012-12-05 21:26:35

标签: javascript regex

  

可能重复:
  Using a regular expression to validate an email address

我刚刚为电子邮件地址制作了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的正确方法吗?

1 个答案:

答案 0 :(得分:2)

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

  1. 需要_和。在第一个字符类
  2. 在第一个字符类之后添加+以捕获@
  3. 之前的所有字符
  4. 删除@和。来自字符类括号
  5. 删除不必要的额外括号
  6. 反斜杠文字句点(不必要的内部字符类)
  7. var re = /[a-z0-9_.]+@(yahoo|hotmail|gmail)\.(com|co\.uk)/i;