我找不到合适的正则表达式模式,即使这类问题很多.
我不希望用户能够输入或输入
<td><input type="number" pattern=" 0+\.[0-9]*[1-9][0-9]*$" name="itemConsumption" /></td>
> -1.0(负值)
>字符串值和任何字符
> 1.0(十进制值)
>无范围限制
我只想接受积极的整数
解决了
不需要正则表达式,我不知道这个:D
<td><input type="number" pattern=" 0+\.[0-9]*[1-9][0-9]*$" name="itemConsumption" onkeypress="return event.charCode >= 48 && event.charCode <= 57"</td>
解决方法
要拨打任何输入但数字,您可以使用
<input type="text" onkeypress="return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13) ? null : event.charCode >= 48 && event.charCode <= 57" name="itemConsumption" /> ^------------....
<form id="mfrm"> <table> <tr> <td>Enter number only: <input type="text" name="itemConsumption" onkeypress="return (event.charCode == 8 || event.charCode == 0 || event.charCode == 13) ? null : event.charCode >= 48 && event.charCode <= 57" /></td> <td><input type="Submit"/></td> </tr> </table>
这里,event.charCode == 8 || event.charCode == 0 || event.charCode == 13条件处理按下DELETE,BACKSPACE或ENTER键的情况(对于Firefox很重要,请参阅下面的Mohit’s comment和与启用ENTER键相关的datashaman’s comment).
event.charCode> = 48&& event.charCode< = 57表示仅返回0(十进制代码48)和最多9(十进制代码57)的所有其他数字.