正则表达式允许逗号和空格分隔的数字列表

时间:2013-07-04 14:15:46

标签: javascript jquery regex numbers delimited

我想用javascript或jquery写一个正则表达式来允许 逗号分隔的数字列表OR 空格分隔数字或 逗号后跟空格分隔的数字OR 以上任何一种的组合 任何不是数字,空格或逗号的内容都必须被拒绝

应该通过 111222333 111 222 333 111,222,333 111,222,333 444 555 666,111,222,333,

不应该通过: 111,222,3a 3A 111 222 3a等等

我尝试了下面的代码,但是当我键入时,它们似乎正常工作 3a作为一个数字,它通过!!!怎么样?我无法理解我的代码如何允许这封信通过。

我想拒绝任何不是空格,逗号或数字的内容

或者没有正则表达式有更好的方法吗? 我查了谷歌并没有找到任何答案。

提前感谢您的帮助。

var isNumeric = /[\d]+([\s]?[,]?[\d])*/.test(userInput);
var isNumeric = /^[\d\s,]*/.test(userInput);    
var isNumeric = /^[\d]*[\s,]*/.test(userInput); 
var isNumeric = /^[\d\s,]*/.test(userInput);    
var isNumeric = /\d+\s*,*/.test(userInput); 

if (isNumeric == false) {
    alert(isNumeric);
  return false;
}
else
      alert('is Numeric!!!');

3 个答案:

答案 0 :(得分:5)

正则表达式 ^[\d,\s]+$ 不行吗?

答案 1 :(得分:1)

试试这个正则表达式... Click to view your demo

^[0-9 _ ,]*$

答案 2 :(得分:0)

猜猜^(\d+[, ]+)*$应该这样做。

说明: 包含一个或多个数字,后跟至少一个空格或逗号的组。小组可以重复多次。

它并不能处理所有事情,比如在没有数字的逗号(如果这就是你想要的)之间失败的话。