input文本框只允许输入数字

其一,只允许输入数字和小数点

 <input onKeypress="return (/[\d.]/.test(String.fromCharCode(event.keyCode)))" 
 style="ime-mode:Disabled" />

其二,判断的更详细一些,甚至22..2这样不算数字也判断得出来

<script> 
function check(){ 
    if (isNaN(document.getElementsByName('tt')[0].value)) 
    {
         alert("非法字符!"); 
         document.getElementsByName('tt')[0].value="";
     } 
}
</script> 
<input type="text" name="tt" onkeyup="check();" />

其三,只允许输入整数。其实也完全可以根据第三条来举一反三做一些限制

<script language=javascript> 
function onlyNum() 
{ 
if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)) 
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) 
event.returnValue=false; 
} 
</script><input onkeydown="onlyNum();" style="ime-mode:Disabled" />

结语:

    其实 style="ime-mode:Disabled"这句是比较实用的,意为关闭输入法。省得有些人开着全角输入数字,结果输入不进去来找你哭天抹泪的,还怪你设计的不好。

你可能感兴趣的:(input文本框只允许输入数字)