如何设置几组正则表达式中的字符数?

时间:2019-04-25 09:30:03

标签: javascript regex email

我有一个正则表达式,用于检查电子邮件地址。

如何设置@之后的整个块的最大符号数。

export const EMAILREGEX =
/^[ ]*[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]{1,64}@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*[ ]*$/;

1 个答案:

答案 0 :(得分:0)

您可以在正则表达式中的@字符之后使用正向前瞻,以指定@字符后的部分的最小最大长度。假设您希望它最少10个字符,最多20个字符,然后可以在正则表达式中(?=.{10,20}$)之后写@。这是您的正则表达式的外观,

/^[ ]*[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]{1,64}@(?=.{10,20}$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*[ ]*$/;

这里,(?=)被称为positive look ahead.{10,20}$表示任何字符,最小10和最大20,后跟由$表示的字符串的结尾

您也可以参阅this帖子,以熟悉环视的工作原理。