使用isNaN来评估输入

时间:2011-02-02 14:27:12

标签: javascript jquery

我使用isNaN来评估文本框中的输入我的功能是这样的

function IsNumeric(n) {
    return !isNaN(n);
} 

它可以正常使用数字,但不是负值,也不是像1.2,

这样的小数值

但我不接受负面或十进制值,如1.2

我该怎么做?

由于

3 个答案:

答案 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);
}