我正在尝试验证客户端的电子邮件地址列表。这些地址用逗号或分号分隔。它们通常如下所示:
'[email protected]; [email protected]; '
'[email protected], [email protected]'
我正在使用正则表达式拆分字符串(我知道如何分别验证每个电子邮件地址):
var separator = /[;,]+/;
var emails = value.split(separator);
我希望能够删除最后一个分隔符(如果有的话)。在python的服务器端,我正在做类似的事情:
data = data.rstrip(separator)
value_list = re.split(separator, data)
使用分隔符是所需的正则表达式。
我的问题是:如何在Javascript中执行此操作?更广泛地说,如果字符串的最后一个字符与regexp匹配,该如何删除?
最佳答案
可以使用正则表达式中$
方法中的结束行.replace()
符号来完成Rstrip。我还更改了您的正则表达式,以便它可以另外删除空格。
var separator = "[; ,]+",
emails = value.replace(new RegExp(separator + "$"), "")
.split(new RegExp(separator));
console.log(emails);