我在模式中有ìnput type=text
和maxleng = 3
,我的结果完美1,78,但解决方案错误打印值= 1,00
这是我的代码:
$("#field").keyup(function() {
var valor = parseFloat(this.value.match(/[0-9]*/));
$("#field").val(valor.toFixed(2).replace('.',','));
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="field" type="text" pattern="([0-9]{3})"/>
&#13;
当值为123
时,如何设置1,23
?
答案 0 :(得分:1)
你的问题。是“当值为1,23时如何制作123?”如果我没有错,你正在寻找这个解决方案
$("#field").keyup(function() {
$("#field").val(this.value.replace('.',''));
$("#field").val(this.value.replace(',',''));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="field" type="text" pattern="([0-9]{3})"/>
确定。对于这个问题“输入值是123,输出值是1,23?”
$("#field").keyup(function() {
var valor = parseFloat(this.value.match(/[0-9]*/));
if (this.value.length==3){
var s = this.value.slice(0, 1) + "," + this.value.slice(1, 3) ;
$("#field").val(s);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="field" type="text" pattern="([0-9]{3})"/>