Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript에서 십진수(소수)를 검증하는 방법 완벽 가이드

JavaScript에서 입력값이 올바른 십진수(소수)인지 검증해야 할 때는 match() 메서드를 활용하는 것이 효과적입니다. match() 메서드는 문자열이 정규 표현식(regular expression)과 일치하는지 확인하고, 일치하는 결과를 반환합니다. 이를 통해 숫자 형식의 유효성을 손쉽게 판별할 수 있습니다.

정규 표현식 구성 요소 살펴보기

예제에서 사용된 정규 표현식 /^[-+]?[0-9]+\.[0-9]+$/는 다음과 같은 규칙으로 이루어져 있습니다.

  • ^[-+]? — 문자열 시작 부분에 선택적으로 '+' 또는 '-' 부호가 올 수 있습니다.
  • [0-9]+ — 소수점 앞에는 한 자리 이상의 숫자가 반드시 있어야 합니다.
  • \. — 실제 소수점(.)이 반드시 포함되어야 합니다.
  • [0-9]+$ — 소수점 뒤에는 한 자리 이상의 숫자로 끝나야 합니다.

예제 코드

다음 코드를 실행하면 문자열 "1.5"가 유효한 십진수인지 검증할 수 있습니다.

<html>
   <body>
      <script>
         var str = "1.5";
         var re = /^[-+]?[0-9]+\.[0-9]+$/;
         var found = str.match(re);
         if (found) {
            document.write(str + "은(는) 유효한 십진수입니다.");
         } else {
            document.write(str + "은(는) 유효한 십진수가 아닙니다.");
         }
      </script>
   </body>
</html>

더 간결한 방법: test() 메서드 활용하기

단순히 참/거짓(true/false)만 필요하다면, match() 대신 정규 표현식 객체의 test() 메서드를 사용하는 것이 더 깔끔합니다.

var isValid = /^[-+]?[0-9]+\.[0-9]+$/.test("1.5");
console.log(isValid); // true 출력

이처럼 정규 표현식과 match(), test() 메서드를 조합하면 사용자 입력값이나 폼 데이터에서 십진수 형식을 손쉽게 검증할 수 있습니다.