-4

鉴于:

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

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

4

3 回答 3

1

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

于 2012-06-13T10:23:38.980 回答
0

使用以下功能

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

通过调用

if (containsNumbersAndCommasOnly(input_val)) {

}
于 2012-06-13T10:23:17.233 回答
0

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

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

if(!(!isNaN(parseFloat(n)) && isFinite(n))){
    return /^(\d|,)+$/.test(n);
}else{
    return true;
}
于 2013-08-07T03:19:59.027 回答