如何在javascript中验证变量的数据类型?

时间:2012-12-08 04:10:44

标签: javascript html

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

谢谢。

2 个答案:

答案 0 :(得分:5)

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

示例:

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

--- --- EDIT

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

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

答案 1 :(得分:1)

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

您想要查看输入是否可以从string转换为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");
}