1

我需要计算用户输入的电子邮件地址的数量。这些地址可以由以下任何一种分隔:

  • 逗号后面没有空格 -a@example.com,c@example.com.com
  • 逗号后跟任意数量的空格(即有人可能有一个逗号后跟 3 个空格或只有 1 个)-a@example.com, c@example.com.com
  • 只有空白 -a@example.com c@example.com.com
  • 新队

什么是清理它并可靠地计算地址的好方法?

我假设常规的 'ole javascript 可以处理这个问题,但我使用 jQuery 是值得的。

4

4 回答 4

4

最简单的方法是将所有逗号替换为空格,然后根据空格拆分字符串。不需要条件。

这是一个关于这个例子的小提琴。

于 2012-08-28T19:40:36.047 回答
2
var emails = input.split(/[\s,]+/);

小提琴

于 2012-08-28T19:43:34.910 回答
1
var str="YOUR_STR",
    arr = [];
if( str.indexOf(',') >= 0 ) {
   // if comma found then replace all extra space and split with comma
   arr =  str.replace(/\s/g,'').split(',');
} else {
   // if comma not found
   arr = str.split(' ');
}
于 2012-08-28T19:43:33.163 回答
1
var l = "a@example.com,c@example.com.com a@example.com, c@example.com.com a@example.com c@example.com.com";

var r = l.split(/ |, |,/);

正则表达式使这相当容易。

如果有不止一个空格的变化,正则表达式可以稍微改变一下。

var r = l.split(/ +|, +|,/);
于 2012-08-28T19:44:58.780 回答