嘿伙计我刚刚学习javascript,但我有一些html和css背景。
我无法弄清楚如何只允许在提示中输入数字值,或者检查它是否为数字,如果不是则重新提示。文本框也是如此。
答案 0 :(得分:2)
这是我在我的代码中使用的一个很好的数字测试函数(来自Validate decimal numbers in JavaScript - IsNumeric())。如果是数字,它将返回true,否则返回false。这是浮点验证,而不是整数
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
答案 1 :(得分:0)
你已经有了一个很好的答案。这个答案是对你可以做的事情的另一种看法。
假设您的号码字段如下所示
<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%肯定的
您还可以在失败时更改输入字段的背景和/或文本颜色(测试的其他部分,因此用户会注意到某些内容是错误的。alert();
适用于测试,但有点混乱生产中的网站外观。