5 个逗号分隔的电子邮件 ID 的正则表达式
Regular expression for 5 comma separated email id
我试图在一个正则表达式中验证 5 个逗号分隔的电子邮件 ID。
我目前使用下面的正则表达式
^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$
这对一个电子邮件 ID 有效。
我想知道我怎样才能达到同样的效果,任何小的输入也非常感谢。
提前致谢。
下面 javaScript 的正则表达式可以用于多个逗号分隔的电子邮件 ID,希望这对你有用
/^(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]{2,4}\s*?,?\s*?)+$/
首先,固定模式:-
在一个字符class内的两个字符之间形成一个范围。所以,你的正则表达式的电子邮件部分应该是 [-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}
(注意 -
在第一个字符 class 中的位置,在第二个字符中,可以将它放在 shorthand 字符 class \w
和下一个字符).
接下来,要匹配 1 到 5 个以逗号分隔的电子邮件,您需要匹配第一个,然后匹配 0 到 4 个电子邮件。并在模式周围添加锚点以确保模式匹配整个字符串:
^[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}(?:,[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}){0,4}$
基本上,^<EMAIL>(?:,<EMAIL>){0,4}$
:
^
- 字符串开头
<EMAIL>
- 您的电子邮件模式
(?:
- 作为一系列模式容器的非捕获组的开始:
,
- 逗号
<EMAIL>
- 您的电子邮件模式
){0,4}
- 以上这些序列出现零到四次
$
- 字符串结尾。
另一个想法是用,
拆分然后验证:
var s = "abc@gg.com,abc2@gg.com,abc3@gg.com,abc4@gg.com,abc5@gg.com";
var re = /^[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}$/;
var items = s.split(",");
if (items.length <= 5 && items.filter(function(x) { return re.test(x); }).length === items.length ) {
console.log("VALID => ", items);
} else {
console.log("INVALID!");
}
我试图在一个正则表达式中验证 5 个逗号分隔的电子邮件 ID。 我目前使用下面的正则表达式
^([\w+-.%]+@[\w-.]+\.[A-Za-z]{2,4},?)+$
这对一个电子邮件 ID 有效。
我想知道我怎样才能达到同样的效果,任何小的输入也非常感谢。
提前致谢。
下面 javaScript 的正则表达式可以用于多个逗号分隔的电子邮件 ID,希望这对你有用
/^(\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]{2,4}\s*?,?\s*?)+$/
首先,固定模式:-
在一个字符class内的两个字符之间形成一个范围。所以,你的正则表达式的电子邮件部分应该是 [-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}
(注意 -
在第一个字符 class 中的位置,在第二个字符中,可以将它放在 shorthand 字符 class \w
和下一个字符).
接下来,要匹配 1 到 5 个以逗号分隔的电子邮件,您需要匹配第一个,然后匹配 0 到 4 个电子邮件。并在模式周围添加锚点以确保模式匹配整个字符串:
^[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}(?:,[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}){0,4}$
基本上,^<EMAIL>(?:,<EMAIL>){0,4}$
:
^
- 字符串开头<EMAIL>
- 您的电子邮件模式(?:
- 作为一系列模式容器的非捕获组的开始:,
- 逗号<EMAIL>
- 您的电子邮件模式
){0,4}
- 以上这些序列出现零到四次$
- 字符串结尾。
另一个想法是用,
拆分然后验证:
var s = "abc@gg.com,abc2@gg.com,abc3@gg.com,abc4@gg.com,abc5@gg.com";
var re = /^[-\w+.%]+@[\w-.]+\.[A-Za-z]{2,4}$/;
var items = s.split(",");
if (items.length <= 5 && items.filter(function(x) { return re.test(x); }).length === items.length ) {
console.log("VALID => ", items);
} else {
console.log("INVALID!");
}