我想用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!!!');
答案 0 :(得分:5)
正则表达式
^[\d,\s]+$
不行吗?
答案 1 :(得分:1)
试试这个正则表达式... Click to view your demo
^[0-9 _ ,]*$
答案 2 :(得分:0)
猜猜^(\d+[, ]+)*$
应该这样做。
说明: 包含一个或多个数字,后跟至少一个空格或逗号的组。小组可以重复多次。
它并不能处理所有事情,比如在没有数字的逗号(如果这就是你想要的)之间失败的话。