Javascript提示/文本框仅限数字

时间:2012-09-21 23:07:33

标签: javascript html css

嘿伙计我刚刚学习javascript,但我有一些html和css背景。

我无法弄清楚如何只允许在提示中输入数字值,或者检查它是否为数字,如果不是则重新提示。文本框也是如此。

2 个答案:

答案 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();适用于测试,但有点混乱生产中的网站外观。