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