2014-10-10 3 views
0

0.0에서 0.999 또는 .0에서 .999 사이의 10 진수 유효성을 검사하려고합니다. 나는 아래 시도하고0.0에서 0.999 사이의 숫자에 대한 정규식

, 대신 당신이 부유하고 검증하기 위해 변환 할 수있는 정규식을 사용

$('#num').on("keyup", function() { 
    var value = $(this).val(); 
    var regex_cell = /0(\.\[0-9]{3})?/; 
    if (!value.match(regex_cell)) { 
     this.value = this.value.replace(this.value.slice(-1), ""); 
    } 
}); 

답변

2

.

var s = "0.999"; 
var n = Number.parseFloat(s); 

if (n >= 0 && n <= 0.999) // 3 decimal positions only? s.length <= 4 
{ 
    // valid 
} 
+0

고마워 @BrunoLM –

0

정규식은

var regex_cell = /0(\.[0-9]{1,3})?/ 
+0

위의 정규 표현식이 작동하지 않는다. –

0

var regex_cell = /0?(\.[0-9]{1,3})?/

0은 선택 사항입니다. 여전히 0.는 실패 할 것입니다. 공백은 실패합니다. 가장 좋은 방법은 float로 평가하는 것입니다 ('Number.parseFloat'사용). 이것은 정규 표현식에 좋은 직업이 아니다

관련 문제