至少和最多字符的正则表达式

时间:2014-02-23 05:07:34

标签: regex

我是正则表达式的新手。我不能做想要的事。我已经在下面给出了正则表达式

var emailx= /^([a-zA-Z_.]+@[a-z]+[.]+[a-zA-Z]+)$/;

但最后我想要点号([.])后至少3个字符,最多5个字符。

你能帮我解决一下这个问题。

谢谢。

2 个答案:

答案 0 :(得分:2)

在大多数正则表达式中(您没有说明您使用的是哪种),您可以使用{min,max}量词。例如:

[a-zA-Z]{3,5}

如果你碰巧使用没有这个的味道,那么你可以这样做:

[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z]?[a-zA-Z]?

此外,如果您只想要一个点,则应使用\.,而不是[.]+,即“一个或多个点”。并且您可以使这种不区分大小写的简化:

var emailx = /^([a-z_.]+@[a-z]+\.[a-z]{3,5})$/i;

最后,请注意您的正则表达式会丢弃许多合法的电子邮件地址。比如我的!@phrogz.net。这是一个更强大的(仍然不够好,恕我直言):
http://www.regular-expressions.info/email.html

答案 1 :(得分:0)

您可以在正则表达式中使用{MIN_OCCURANCE,MAX_OCCURANCE}。

Like {3,5}