我试图在<input type="number">
中接受有效的小数,但在逗号前不接受带有双零或三个零的小数。
这是我的codepen。
这是我的HTML输入元素:
<input id="num" step="0.0001" type="number" pattern="[0-9]+([.,][0-9]+)?">
这应该接受那些:(即)
25
10,25
0,05
0,7
但是不应该接受00,25
或000,96
。因为它们的实际值为0,25
和0,96
。但是它们确实返回多个零。
如何避免这些多个零?
谢谢。
[input
标签失去焦点时,jQuery代码将检查是否有多个零,并将其替换为单个1。
$("#inptNum").focusout(function(){
var num = this.value.split('.');
if(num[0] == 0 && num[0].length > 1){
this.value = 0+"."+num[1];
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input step="0.0001" id="inptNum" type="number" />
我准备了一些受@Marios Nikolaou启发的东西:
$("#num").focusout(function(){
var inputVal = this.value;
if(inputVal.indexOf(',') != -1){
var num = inputVal.split(',');
this.value = parseInt(num)+","+num[1];
} else if(inputVal.indexOf('.') != -1){
var num = inputVal.split('.');
this.value = parseInt(num)+"."+num[1];
}
});