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

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

应该通过111,222,333 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!!!'); 

正则表达式^[\d,\s]+$不会这样做吗?

试试这个Regex … 点击查看你的演示

 ^[0-9 _ ,]*$ 

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

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

虽然它没有处理所有内容,例如在没有数字的逗号(如果这是你想要的)之后失败。