我有一个验证功能(仅接受整数和浮点数)

function isNumeric(prodFilterValue)
{
    if((parseFloat(prodFilterValue) == parseInt(prodFilterValue)) && !isNaN(prodFilterValue))
    {
        alert('numeric');
        alert('hahahahhahaha');
        $("#valuetxt1").css('background-color', 'white');

    }
    else
    {
        alert('HIIIIIIIIIII');
        $("#valuetxt1").css('background-color', 'grey');
    }

    return prodFilterValue;
}


现在的问题是..
当验证0.1时,它将说它不是数字。
应该是数字。
当我把另一个条件

if((parseFloat(prodFilterValue) == parseInt(prodFilterValue)) && !isNaN(prodFilterValue) || (prodFilterValue % 1 !=0))


它将验证数字为1A

最佳答案

您可以检查它是否为数字,然后为浮点数或整数。

function checkNumber(numb1)
{
  numb1 += "";   // to handle boolean when true / false is passed
  if(numb1.length == 0) return false; // to handle empty string like checkNumber("")

  if(isNaN(numb1))
      alert("It is a number");
  else
      alert("It is not a number");
}

09-16 10:34