2017-10-28 1 views
0

나는 1,78 내 결과가 완벽 ìnput type=text 및 maxleng = 3 패턴이 있지만 솔루션 오류 인쇄 값은 = 1,00이 내 코드입니다 : 내가 123 때를 어떻게해야합니까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})"/>

값은 1,23입니까?

+0

당신의 패턴 소수점 문자 –

+0

예 I 입력 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,2,3로 변환됩니다 – WMomesso

+0

업데이트보기 –

관련 문제