2017-10-28 56 views
0

我有ìnput type=text和maxleng = 3图案,我的成绩完美1,78,但解决错误的打印值= 1,00这是我的代码:使用keyup jquery的错误掩码?

$("#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})"/>

怎样使123时值是1,23

+0

你并不需要你应用该模式最大长度,但你的格局不允许小数字符 –

+0

是的,我一直在努力为'输入number'忘了删除,编辑了一个问题。 – WMomesso

回答

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})"/>

+0

我想输入123并自动转换为1,23 – WMomesso

+0

立即查看更新 –