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

JavaScript로 PIN 번호 유효성 검사 구현하기

JavaScript에서 PIN(개인 식별 번호)의 유효성을 검사하려면 길이데이터 타입 등의 조건을 기준으로 확인할 수 있습니다.

예를 들어, 유효한 PIN은 다음 조건을 모두 만족해야 합니다.

  • 문자열(string) 타입이어야 합니다
  • 소수점(.)을 포함하지 않아야 합니다
  • 숫자로 변환 가능한 값이어야 합니다
  • 길이가 정확히 2자리 또는 4자리여야 합니다

예제 코드

다음은 위 조건들을 검사하는 함수의 전체 코드입니다.

function simpleValidationForPin(pinValues) {
   if (!(typeof pinValues === "string" && !~pinValues.indexOf('.') && !isNaN(Number(pinValues)) && (pinValues.length === 2 || pinValues.length === 4))) {
      return false;
   } else {
      return true;
   }
}
if (simpleValidationForPin("0000.00") == true)
   console.log("유효한 PIN입니다")
else
   console.log("유효하지 않은 PIN입니다")
if (simpleValidationForPin(66) == true)
   console.log("유효한 PIN입니다")
else
   console.log("유효하지 않은 PIN입니다")
if (simpleValidationForPin("4444") == true)
   console.log("유효한 PIN입니다")
else
   console.log("유효하지 않은 PIN입니다")
if (simpleValidationForPin("66") == true)
   console.log("유효한 PIN입니다")
else
   console.log("유효하지 않은 PIN입니다")
if (simpleValidationForPin("666") == true)
   console.log("유효한 PIN입니다")
else
   console.log("유효하지 않은 PIN입니다")

검증 로직 설명

함수 내부의 조건식은 다음과 같이 동작합니다.

  • typeof pinValues === "string": 입력값이 문자열인지 확인합니다. 숫자 66처럼 숫자 타입으로 전달되면 거부됩니다.
  • !~pinValues.indexOf('.'): 소수점이 포함되어 있는지 확인합니다. "0000.00"처럼 소수점이 있으면 거부됩니다.
  • !isNaN(Number(pinValues)): 값이 숫자로 변환 가능한지 확인합니다.
  • pinValues.length === 2 || pinValues.length === 4: 길이가 2자리 또는 4자리인지 확인합니다. "666"처럼 3자리는 거부됩니다.

프로그램 실행 방법

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 사용합니다.

node fileName.js

여기서는 파일명이 demo254.js라고 가정합니다.

실행 결과

콘솔에 출력되는 결과는 다음과 같습니다.

PS C:\Users\Amit\javascript-code> node demo254.js
유효하지 않은 PIN입니다
유효하지 않은 PIN입니다
유효한 PIN입니다
유효한 PIN입니다
유효하지 않은 PIN입니다

결과 분석

  • "0000.00" → 소수점이 포함되어 있어 유효하지 않습니다
  • 66 → 문자열이 아닌 숫자 타입이므로 유효하지 않습니다
  • "4444" → 4자리 문자열 숫자이므로 유효합니다
  • "66" → 2자리 문자열 숫자이므로 유효합니다
  • "666" → 길이가 3자리이므로 유효하지 않습니다