2026, 새로운 도약을 시작합니다.

자바스크립트 숫자와 .만 입력 채택완료

안녕하세요.

아래와 같이 숫자와 .만 입력하면 잘 작동합니다.

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 포인트
Copy
로그인 후 평가할 수 있습니다

답변에 대한 댓글 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;

}



로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고