检查值是否是JavaScript或jQuery中的数字

Hus*_*ssy 110 javascript jquery

可能重复:
验证JavaScript中的数字 - IsNumeric()

var miscCharge = $("#miscCharge").val();
Run Code Online (Sandbox Code Playgroud)

我想检查misCharge号码与否.有没有什么方法或简单的方法在jQuery或JavaScript中执行此操作?

HTMl是

<g:textField name="miscCharge"  id ="miscCharge" value="" size="9" max="100000000000" min="0" />
Run Code Online (Sandbox Code Playgroud)

zad*_*zad 178

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
Run Code Online (Sandbox Code Playgroud)

  • 这甚至更好:`return!isNaN(+ n)&& isFinite(n)`因为对于带有尾随字母的数字字符串,parseFloat | parseInt将返回true,第二次检查isFInite将返回false.使用一元"+"时会立即失败. (10认同)
  • "!isNaN(+ n)&& isFinite(n)"将空字符串分类为数字 (7认同)
  • 我不确定这是否有意,但是isNumber(['5'])也会返回true - 但它不是一个数字,它是一个包含数字的数组. (2认同)

cwa*_*ole 31

你有很多选择,具体取决于你想要的方式:

isNaN(val)
Run Code Online (Sandbox Code Playgroud)

如果val不是数字,则返回true,否则返回false.在您的情况下,这可能是您需要的.

isFinite(val)
Run Code Online (Sandbox Code Playgroud)

如果转换为String时val是一个数字并且它不等于+/- Infinity,则返回true

/^\d+$/.test(val)
Run Code Online (Sandbox Code Playgroud)

如果val在转换为String时只返回数字(可能不是您需要的数字),则返回true.


Buf*_*fon 5

isNaN如果它是 (Not-a-number) ,则有一个称为它的函数返回 true,因此您可以通过这种方式检查数字

if(!isNaN(miscCharge))
{
   //do some thing if it's a number
}else{
   //do some thing if it's NOT a number
}
Run Code Online (Sandbox Code Playgroud)

希望它有效