鉴于:
var input_val = $('#field').val();
如何检查 input_val 是否仅包含数字或逗号?该解决方案必须在 4 个主要浏览器中运行。
鉴于:
var input_val = $('#field').val();
如何检查 input_val 是否仅包含数字或逗号?该解决方案必须在 4 个主要浏览器中运行。
/^(\d|,)+$/.test(input_val)
true
只要input_val
只包含数字和/或逗号,就会返回。
使用以下功能
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;
}