1

在 Javascript 中,有没有办法检查或验证变量的数据类型?我需要允许用户在文本框中输入浮点值。

谢谢你。

4

2 回答 2

7

如果您处理文字符号而不是构造函数,则可以使用typeof :。

例子:

>var a = 1;
>var b = "asdasd";
>typeof(b);
"string"
>typeof(a);
"number"

- -编辑 - -

要验证数字或浮点值,请使用:

function isNumber (n) {
  return ! isNaN (n-0);
}

例子:

>var a = 1;
>isNumber(1);
True

包括浮动,使用parsefloat

function isIntandFloat(n) {
   return typeof n === 'number' && parseFloat(n) == parseInt(n, 10) && !isNaN(n);
}

或者,如果您只想float使用它:

function Float (n) {
  return n===+n && n!==(n|0);
}

例子:

>var a = 0.34324324324;
>Float(a);
true
>var int = 3;
>Float(int);
false
于 2012-12-08T04:12:30.453 回答
1

文本框将始终为您提供string原始值。

您想要的是查看输入是否可以从 a 转换string为 a number。为此,您可以使用parseFloat().

var num = parseFloat(textbox.value);

if (isNaN(num)) {
    alert("Invalid input");
}

如果您想要更严格的评估,请使用该Number功能

var num = Number(textbox.value);

if (isNaN(num)) {
    alert("Invalid input");
}
于 2012-12-08T04:14:32.130 回答