자바스크립트 숫자와 .만 입력 채택완료
안녕하세요.
아래와 같이 숫자와 .만 입력하면 잘 작동합니다.
190.5
그런데 다른사람들이 붙여넣기 해서 그런지
190.5.
점을 두번 입력해도 숫자와 점만 입력 가능하므로 정상 처리 되어 집니다.
점은 한번만 인식되고 2개 이상 검출되면 에러 메세지 발생하게 할수 있는지 궁금합니다.
감사합니다.
<input type='text' name='d_r' id='d_r' size='15' maxlength='10' value='' onkeyup="if(this.value.match(/[^0-9.]/)) { window.alert('숫자만 입력가능합니다.'); this.value = ''; return false; }">
답변 2개
채택된 답변
+20 포인트
답변에 대한 댓글 1개
1년 전
댓글을 작성하려면 로그인이 필요합니다.
마르스컴퍼니
1년 전
Copy
function validateInput(input) {
// 입력된 값에서 모든 공백 제거
var value = input.value.replace(/\s/g, '');
// 숫자와 소수점만 허용하는 정규표현식
var regex = /^[0-9]*\.?[0-9]*$/;
if (!regex.test(value)) {
alert('숫자와 소수점만 입력 가능합니다.');
input.value = '';
return false;
}
// 소수점이 두 번 이상 입력되었는지 확인
var dotCount = (value.match(/\./g) || []).length;
if (dotCount > 1) {
alert('소수점은 한 번만 입력 가능합니다.');
input.value = value.substr(0, value.lastIndexOf('.'));
return false;
}
// 유효한 입력인 경우, 공백이 제거된 값을 입력 필드에 설정
input.value = value;
return true;
}
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
잘 작동하네요
감사합니다.