Javascript 输入一个只允许数字、一个点和两个小数位
有没有办法在javascript中验证多个输入,以便只允许数字、一个点和两个可选的小数点 编辑: 它应该允许下一个:Javascript 输入一个只允许数字、一个点和两个小数位,javascript,Javascript,有没有办法在javascript中验证多个输入,以便只允许数字、一个点和两个可选的小数点 编辑: 它应该允许下一个: 12.65 12.6 十二, 十二, 一, 我设法做到了这一点: <input type="number" onkeypress="return isDecimalKey(event,this)"/> <input type="text" onkeypress="return isDecimalKey(event,this)"/> <input
- 12.65
- 12.6
- 十二,
- 十二,
- 一,
<input type="number" onkeypress="return isDecimalKey(event,this)"/>
<input type="text" onkeypress="return isDecimalKey(event,this)"/>
<input type="number" onkeypress="return isDecimalKey(event,this)"/>
<input type="text" onkeypress="return isDecimalKey(event,this)"/>
函数isDecimalKey(evt,elem){
var charCode=(evt.which)?evt.which:evt.keyCode;
如果(charCode>31&(charCode!=46&&(charCode<48|charCode>57)))
返回false;
否则{
var-dot=0;
for(var i=0;i
但效果不好,我仍然可以插入多个点和超过2个小数,但只接受数字和点。您可以尝试:
input type="number"
step="0.01"
onkeypress={() => { isDecimalKey(event,this) }}
您可以尝试:
input type="number"
step="0.01"
onkeypress={() => { isDecimalKey(event,this) }}
使用以下正则表达式验证输入值:
[0-9]*\.?[0-9]{2}.test('21.33') //true
[0-9]*\.?[0-9]{2}.test('3333.111') //false
使用以下正则表达式验证输入值:
[0-9]*\.?[0-9]{2}.test('21.33') //true
[0-9]*\.?[0-9]{2}.test('3333.111') //false
试试这个
HTML
<input autofocus pattern="^\d+\.{0,1}\d{0,2}$" required oninput="isDecimalKey(event,this)">
试试这个
HTML
<input autofocus pattern="^\d+\.{0,1}\d{0,2}$" required oninput="isDecimalKey(event,this)">
使用正则表达式不是更简单吗/^[0-9]+\[0-9]{2}$/使用正则表达式不是更简单吗/^[0-9]+\.[0-9]{2}$/如何应用?如何应用?