2009-11-17 5 views

답변

1
$("#target").blur(function(event) { 
    event.target.value = event.target.value.replace(/[^0-9]/g, ""); 
}); 

이 잘 작동합니다 :

$("#target").keypress(function(event) { 
    event.target.value = event.target.value.replace(/[^0-9]/g, ""); 
}); 
+1

나는 키와 비슷한 것이어야한다고 생각하니? – Mask

+0

작동하지 않습니다. – Mask

+2

문제는'{^ 0-9]'이며,'[^ 0-9]'이어야합니다. – jtbandes

0
$('input[type=text].someclass').blur(function(event) 
{ 
    event.target.value = event.target.value.replace(/[^0-9]/g, ""); 
}); 
0
if (!$.browser.mozilla) { 
    if (event.keyCode && (event.keyCode < 48 || event.keyCode > 57)) 
     event.preventDefault(); 
} 
else { 
    if (event.charCode && (event.charCode < 48 || event.charCode > 57)) 
     event.preventDefault(); 
} 
+0

마이너스를 한 사람이 이유를 설명해야합니다 ... –

0
function onlyNumbers(evt) { 
    var e = evt; 
    if(window.event){ // IE 
     var charCode = e.keyCode; 
    } else if (e.which) { // Safari 4, Firefox 3.0.4 
     var charCode = e.which; 
    } 
    if (charCode > 31 && (charCode < 48 || charCode > 57)) 
     return false; 
    return true; 
} 

Source

3

이 키 코드를 사용하기 때문에 더 깨지기 쉬운 약간 ... 다음은 일하는 것이 있지만 완전히 직관적이기 때문에 더 직관적이다. 전자는 비 숫자를 입력 :

$("#target").keydown(function(event) { 
    return (event.keyCode < 32 ||        // Control characters 
      (event.keyCode >= 48 && event.keyCode <= 57) || // Numbers 
      event.keyCode == 127);       // Delete key 
}); 

주를 추가 :이 실제로 갈 수있는 가장 좋은 방법은 아니지만 ... A (창) ALT가 + [NUM] (132)는 입력이 가능하게하기 때문에 상자에.

$("#target").keydown(function(event) { 
    return (event.keyCode < 32 ||        // Control characters 
      (event.keyCode >= 48 && event.keyCode <= 57) || // Numbers 
      event.keyCode == 127);       // Delete key 
}); 

$("#target").keyup(function(event) { 
    event.target.value = event.target.value.replace(/[^0-9]/g, ""); 
}); 

는 또한이 그것 때문에 여기의 num-패드 번호가 작동하지 않습니다 : 어떤 문자가 아니라과 같이, 가 결합 입력하지 않은 것을 확인하기 위해의 keyup 이벤트와 결합되어야 분명히 간단한 blur() 이벤트보다 훨씬 허약합니다.

+0

이상하게도, 나에게 효과가있는 것 같지 않습니다. 숫자가 포함되어 있습니다. –

+0

@Soufiane : keydown()/keyCodes는 매우 약합니다. . 자세한 내용은 http://unixpapa.com/js/key.html을 참조하십시오. – Huppie

관련 문제