在Javascript中,有没有办法检查或验证变量的数据类型?我需要允许用户在文本框中输入浮点值。
谢谢。
答案 0 :(得分:5)
如果您只处理文字符号而不是,而不是构造函数,则可以使用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
答案 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");
}