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

validate only numeric but should not allow if the numeric is only 0

本文关键字:数字 不允许 0则 验证 如果      更新时间:2023-09-26

我试过了

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

省略0,但我不能输入10或20或任何包含0的数值。

注意:我不希望在text字段中键入0作为值

try this

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

我想如果你不想在开始时允许0,那么你可以在你的文本框上使用这个函数,如onkeyup="isNumberKey(event,this.id);"

--This Function To check Only Number Keys

函数isNumberKey(e,v) {var t = e.which ?e.which: event.keyCode;If (t>= 48 &&T <= 57) || (T>= 96 &&t & lt; = 105) | | (t = = 8 | | t = = 9 | | t = = 127 | | t = = 37 | | t = = 39 | | t = = 46)) AvoidZero (v);返回错误;}

--This Function To avoid 0 at start

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

这将防止用户输入单个0,但你可以输入任何数字,如10 20 30 40

你应该写

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

因为'0'是48

编辑:

 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();
}
<input type="number" id="myInput" name="myName" min="1">