我使用isNaN来评估文本框中的输入我的功能是这样的
function IsNumeric(n) {
return !isNaN(n);
}
它可以正常使用数字,但不是负值,也不是像1.2,
这样的小数值但我不接受负面或十进制值,如1.2
我该怎么做?
由于
答案 0 :(得分:3)
你的意思是
function IsPostiveInteger(n) {
var n = new Number(n);
return !isNaN(n) && n===parseInt(n,10) && n>0;
}
答案 1 :(得分:2)
尝试使用Number(n)
。如果不是数字,这将返回NAN。否则将返回相同的数字而不管消极或正面
答案 2 :(得分:1)
更短替代解决方案:
function IsNumeric(n){
// any valid number
//return /^-?\d+(?:\.\d+)?$/.test(n);
// only positive numbers
//return /^\d+(?:\.\d+)?$/.test(n);
// only positive whole numbers
return /^\d+$/.test(n);
}