본 포스팅은 JavaScript에서 문자열이 대문자인지 소문자인지 확인하는 방법을 소개합니다.
개요
JavaScript에서 알파벳이 존재하는 문자열이 대문자인지 소문자인지 확인해야하는 다음과 같이 몇 가지 케이스가 있다.
- 이름 표시: 이름을 영문으로 표시할때, 앞글자가 대문자인지 소문자인지 확인할 필요가 있다.
- 검색 필터링: 자동 완성에서 대문자 또는 소문자 구분 없이 일치 여부를 확인할 수 있다.
- 사용자 입력 검증: 사용자로부터 입력받은 문자열이 대문자 또는 소문자로 이루어져 있는지 확인할 수 있다.
다음 세 가지 방법을 통해 JavaScript에서 문자열이 대문자인지 소문자인지 확인해보자.
- toUpperCase(), toLowerCase() 메서드
- 정규 표현식
- 아스키코드
방법 1. toUpperCase(), toLowerCase() 메서드
첫 번째 방법으로 toUpperCase(), toLowerCase() 메서드를 사용할 수 있다.
- toUpperCase(): 문자열을 대문자로 변환한다.
- toLowerCase(): 문자열을 소문자로 변환한다.
모든 문자열이 대문자인지 확인하려면 다음 예시처럼 문자열 혹은 문자열 변수에 toUpperCase() 메서드를 호출하고 원본 문자열과 비교한다.
const str = "JavaScript";
const isUpper = str === str.toUpperCase();
console.log(isUpper); // false
첫 번째 문자가 대문자인지 확인하려면 charAt() 메서드로 첫 번째 문자를 가져온 다음 toUpperCase() 메소드를 사용하여 대문자로 변환 후 원래 문자와 비교한다.
const str = "JavaScript";
const firstChar = str.charAt(0);
const isUpper = firstChar === firstChar.toUpperCase();
console.log(isUpper); // true
방법 2. 정규 표현식
정규 표현식과 test() 메서드를 사용하여 문자열이 대문자인지 소문자인지 확인할 수 있다.
- 대문자: /^[A-Z]+$/
- 소문자: /^[a-z]+$/
test() 메서드는 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환한다.
const str = "JavaScript";
const isUpperCase = /^[A-Z]+$/.test(str);
console.log(isUpperCase); // false
첫 번째 문자가 대문자인지 확인하려면 charAt() 메서드로 첫 번째 문자를 가져온 다음 정규 표현식을 사용하여 대문자인지 소문자인지 확인한다.
const str = "JavaScript";
const firstChar = str.charAt(0);
const isUpperCase = /^[A-Z]+$/.test(firstChar);
console.log(isUpperCase); // true
방법 3. 아스키코드
charCodeAt() 메서드로 특정 문자의 UTF-16 코드를 나타내는 정수 값을 가져온 다음, 해당 값이 대문자 혹은 소문자의 유니코드 범위에 속하는지 확인할 수 있다.
- 대문자: 65(A) ~ 90(Z)
- 소문자: 97(a) ~ 122(z)
다음은 첫 번째 문자가 대문자인지 확인하는 예시다.
const str = "JavaScript";
const firstChar = str.charAt(0);
const isUpperCase = firstChar === firstChar.toUpperCase();
console.log(isUpperCase); // true