我想限制一个正整数或0.所以我写了这段代码:
<input type="text" name="age" id="age" value="${po.age}"
onkeyup="value=value.replace(/[^[1-9]\d*|0]/g,'')"
style="ime-mode:disabled;" onpaste="return false;"
/>
但我发现我只能输入1-9。如果我输入0,它将被删除。如何解决?
答案 0 :(得分:3)
您可以使用number
类型的输入并将min
值设置为0:
Try me:
<input type="number" min="0">
&#13;
答案 1 :(得分:2)
你可以试试这个:
<input type="text" name="age" id="age" value="${po.age}" onkeyup="value = value.replace(/[a-z]|-/gi, ''); value = parseInt(value.match(/\d+|\./gi).join('')) || '';" style="ime-mode:disabled;" onpaste="return false;"
/>
答案 2 :(得分:1)
如果您需要任何数字后跟零
,您只需编写正则表达式即可/ [1-9] \ d * [0] {1} /
答案 3 :(得分:0)
只需将代码value=value.replace(/[^[1-9]\d*|0]/g,'')
更改为value=value.replace(/[^[0-9]\d*/g,'')
所以它看起来像
<input type="text" name="age" id="age" onkeyup="value=value.replace(/[^[0-9]\d*/g,'')" style="ime-mode:disabled;" onpaste="return false;" />
替代方案你可以尝试这个
<input name="number" onkeyup="if (/\D/g.test(this.value)) this.value = this.value.replace(/\D/g,'')">
答案 4 :(得分:0)
你能用这样的东西:
value=isNaN(parseInt(value,10))?"":parseInt(value,10)<0?"":parseInt(value,10)