不应接受文本字段中的数字

时间:2014-01-09 05:41:45

标签: javascript

我正在处理一个不应该接受数字的文本字段。所以我编写了一个名为validate()的脚本。即使它看起来很有效,但它非常糟糕。用户能够看到输入的数据(我的意思是,不需要的数字)。我想在显示之前检查用户输入。如果用户输入的数据不是数字,则只有它应该是可见的。在javascript(或)中是否有类似 getch()的C语言这样的功能可以为我提供一个解决方案吗?

这是我的代码:

    <script>
    function validate()
    {
      var s=t1.value;
      var res="";
      for(i=0;i<s.length;i++)
      {
        var ascii=s.charCodeAt(i);
        if(ascii<48 || ascii>57)
          res+=String.fromCharCode(ascii);  
      }
      t1.value=res;
    }
    </script>
    <input type="text" id="t1" onkeypress="val();">

3 个答案:

答案 0 :(得分:4)

onkeypress="val()";

而您编写了一个名为validate()

的方法

所以将其改为

onkeypress="validate()";

剩余似乎很好,请参阅fiddle

答案 1 :(得分:3)

通过html元素按键调用此功能的 DEMO

不接受号码,将无法在文本框中显示

<input type="text" onkeypress="return checks(this,event)" />

的JavaScript

function checks(dis,ev)
{
 var e = ev || window.event;
 var key = e.which||e.keyCode;
if(key>=48 && key<=57)
return false;
else
return true;
}

答案 2 :(得分:0)

试试这个:

<script>
  function validate(input){
     return (event.keyCode < 48 || event.keyCode > 57);
  }
</script>
<input type="text" id="t1" onkeydown="return validate(this);">

在此处运行:http://jsfiddle.net/edgarinvillegas/XPvU2/1/

希望这会有所帮助。干杯