如何检查输入框是否仅包含数字或逗号

How to check if an input box contains only numbers or commas?

本文关键字:包含 数字 是否 何检查 检查 输入      更新时间:2023-09-26

给定:

 var input_val = $('#field').val();

如何检查input_val是否仅包含数字或逗号?该解决方案必须在 4 个主要浏览器中工作。

>只要input_val只包含数字和/或逗号,/^('d|,)+$/.test(input_val)就会返回true

使用以下函数

function containsNumbersAndCommasOnly(str) {
     return /^[0-9,]+$/.test(str);
}

通过调用

if (containsNumbersAndCommasOnly(input_val)) {
}
这是

@Adil的回复和来自不同帖子的社区帖子答案的组合。 两者的结合比单独使用效果更好,但仍存在一些问题......12,12,12在这里有效,1,,,,,,,,,9 如@mplungjan所指出的也是如此。

就我的目的而言,这是我愿意做的,但擅长正则表达式的人可能会添加一个解决方案,该解决方案可以检测逗号的单个实例,但前面没有至少 3 位数字。

if(!(!isNaN(parseFloat(n)) && isFinite(n))){
    return /^('d|,)+$/.test(n);
}else{
    return true;
}