仅验证数字,但如果数字仅为0,则不应允许

时间:2016-09-22 09:33:49

标签: javascript

我试过

onkeypress='return event.charCode >= 49 && event.charCode <= 57'

省略0但我无法输入10或20或任何具有0的数值。

注意:我不希望将0作为要在text字段中输入的值。

3 个答案:

答案 0 :(得分:0)

你应该写

onkeypress='return event.charCode >= 48 && event.charCode <= 57'

因为&#39; 0&#39;是48

修改

&#13;
&#13;
 document.getElementById("myInput").addEventListener("keypress", myFunction);
 
function myFunction(event)
{
   if(event.key >= '0' && event.key <= '9')
   {
      if(event.target.value.length == 0 && event.key == '0')
         event.preventDefault();
   }
   else
     event.preventDefault();
}
&#13;
<input type="number" id="myInput" name="myName" min="1">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

试试这个

onkeypress='return !isNaN(this.value) && Boolean(this.value)'

答案 2 :(得分:0)

我认为如果您不想在开始时允许0,那么您可以在文本框中使用此功能,例如onkeyup="isNumberKey(event,this.id);"

--This Function To check Only Number Keys

function isNumberKey(e,v){var t = e.which? e.which:event.keyCode; if((t> = 48&amp; t&lt; = 57)||(t> = 96&amp; t&lt; = 105)||(t == 8 || t == 9 | | t == 127 || t == 37 || t == 39 || t == 46))AvoidZero(v);返回false; }

--This Function To avoid 0 at start

function AvoidZero(v){var V = document.getElementById(v).value; return(V.charAt(0)== 0)? (document.getElementById(v).value = V.substring(1,V.length),false):false; }

这将阻止用户键入单个0,但您可以使用任何数字键入0,例如10 20 30 40