嘿伙计们,我只是在学习 javascript,不过我有一些 html 和 css 背景。
我不知道如何只允许在提示中输入数字值,或者检查它是否是数字而不是如果不是则重新提示。文本框也是如此。
嘿伙计们,我只是在学习 javascript,不过我有一些 html 和 css 背景。
我不知道如何只允许在提示中输入数字值,或者检查它是否是数字而不是如果不是则重新提示。文本框也是如此。
这是我在一些代码中使用的一个很好的数字测试功能(来自Validate decimal numbers in JavaScript - IsNumeric())。如果是数字则返回 true,否则返回 false。这是浮点验证,而不是整数
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
你已经有了一个很好的答案。这个答案是对您可以做的事情的另一种看法。
假设您的号码字段如下所示
<input type="text" name="num_fld" id="num_fld" onchange="return chkNum();" />
你已经定义了一个像这样的javascript函数
function chkNum()
{
var rc = false;
if(!isNaN(parseFloat(n)) && isFinite(n))
{
rc = true;
}
else
{
document.getElementById("num_fld").value = 0;
}
return rc;
}
这个函数检查数字是否真的是一个数字,但也会对输入进行猴子,所以错误的值不会留在原地。顺便说一句,我不太确定返回 false 是否会阻止输入数字(有点像在验证函数中。)我相信从我的测试中返回 false 确实会影响该字段中的内容,但我不是 100% 确定这一点.
您还可以在失败时更改输入字段的背景和/或文本颜色(测试的 else 部分,因此用户会注意到有问题。alert();
这对测试很有用,但有点搞砸了您网站在生产中的外观.