根据多个分隔符计算项目?

时间:2012-08-28 19:38:40

标签: javascript jquery regex split

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

  • 逗号后面没有空格 - 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 个答案:

答案 0 :(得分:4)

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

Here's这是一个例子。

答案 1 :(得分:2)

var emails = input.split(/[\s,]+/);

FIDDLE

答案 2 :(得分: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(' ');
}

答案 3 :(得分: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(/ +|, +|,/);