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

JavaScript로 문자가 대문자인지 소문자인지 확인하는 방법

JavaScript에서 문자열의 특정 문자가 대문자인지 소문자인지 확인하려면 toUpperCase()toLowerCase() 메서드를 활용하면 됩니다. 핵심 원리는 간단합니다. 문자를 해당 케이스로 변환한 뒤 원본과 비교하여 변환 여부를 판단하는 것입니다.

동작 원리

예를 들어 문자 'a'에 toUpperCase()를 적용하면 'A'가 되어 원본과 달라지므로 소문자임을 알 수 있습니다. 반대로 'A'에 toUpperCase()를 적용하면 그대로 'A'이므로 대문자라고 판단할 수 있습니다. 숫자나 특수문자처럼 대소문자 구분이 없는 경우에는 isNaN()을 사용해 먼저 숫자 여부를 걸러주는 것이 좋습니다.

예제 코드

function checkCase(ch) {
    if (!isNaN(ch * 1)){
        return 'ch is numeric';
    }
    else {
        if (ch == ch.toUpperCase()) {
            return 'upper case';
        }
        if (ch == ch.toLowerCase()){
            return 'lower case';
        }
    }
}
console.log(checkCase('a'))
console.log(checkCase('A'))
console.log(checkCase('1'))

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

lower case
upper case
ch is numeric

코드 설명

checkCase 함수는 먼저 isNaN(ch * 1)을 통해 전달받은 문자가 숫자인지 검사합니다. 숫자라면 'numeric'을 반환하고 종료됩니다. 숫자가 아니라면 toUpperCase() 변환 결과와 원본을 비교하여 같으면 대문자, toLowerCase() 변환 결과와 같으면 소문자로 판별합니다.

참고로 정규표현식을 사용하는 /[A-Z]/.test(ch) 또는 /[a-z]/.test(ch) 방식으로도 동일한 판별이 가능하며, 영문자 외의 유니코드 문자까지 고려해야 한다면 정규표현식 접근이 더 유연할 수 있습니다.