test() 메서드는 정규 표현식 객체의 메서드로, 특정 문자열이 정규 표현식 패턴과 일치하는지 검사하여 일치하면 true, 그렇지 않으면 false 반환
기본 문법
정규식.test(문자열)
regex.test(str)
const regex = /hello/;
const str1 = "hello world";
const str2 = "goodbye world";
console.log(regex.test(str1)); // true
console.log(regex.test(str2)); // false
그러니까. 코딩테스트를 하다가 소문자는 대문자로, 대문자는 소문자로 바꾸는 문제를 풀다가
match를 사용해서 풀었는데. 생각해보니 test 메서드가 있던 걸 까먹었다
function solution(my_string) {
return [...my_string].map((e)=> e.match(new RegExp(/^[A-Z]/)) ? e.toLowerCase() : e.toUpperCase()).join("");
}
function solution(my_string) {
return [...my_string].map(e => /[A-Z]/.test(e) ? e.toLowerCase() : e.toUpperCase()).join("");
}
예시
이메일 검사
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
const email = "example@domain.com";
if (emailRegex.test(email)) {
console.log("유효한 이메일 주소입니다.");
} else {
console.log("유효하지 않은 이메일 주소입니다.");
}
비밀번호 강도 검사
const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;
const password = "Password123";
if (passwordRegex.test(password)) {
console.log("강력한 비밀번호입니다.");
} else {
console.log("비밀번호는 최소 8자 이상이며, 문자와 숫자를 모두 포함해야 합니다.");
}
RegExp.prototype.test() - JavaScript | MDN
test() 메서드는 주어진 문자열이 정규 표현식을 만족하는지 판별하고, 그 여부를 true 또는 false로 반환합니다.
developer.mozilla.org
주의사항
- test 메서드는 대소문자를 구분한다. 대소문자를 구분하지 않으려면 정규 표현식에 i 플래그를 추가
- 정규 표현식에 g 플래그를 사용하면 test 메서드의 연속 호출시 예상치 못한 결과를 얻을 수 있다. 정규 표현식 객체가 상태를 유지하기 때문임.
'기초다지기 > Javascript' 카테고리의 다른 글
javaScript indexOf() 정리 (0) | 2025.02.28 |
---|---|
javascript 제곱을 다루는 모든 것 (0) | 2025.01.22 |
[javascript] 생성자 함수(Constructor) (0) | 2025.01.20 |
javascript 에러 예외처리 (try, catch, finally) (1) | 2024.12.20 |
API (0) | 2024.12.16 |