정규식(Regular Expression)은 문자열에서 특정 패턴을 찾거나 매칭하는 데 사용되는 문자열의 표현 방법입니다. 정규식은 매우 강력하고 유연하며, 문자열 검색, 치환, 추출 등 다양한 문자열 조작 작업에 사용됩니다.
const regexr = /pattern/flag
양 끝에 있는 /는 시작과 종료를 알려준다.
const str = 'abcdefg'
console.log(/a/.test(str)); //ture
console.log(/z/.test(str)); //false
해당하는 문자가 들어가 있는지 확인한다
const str2 = 'axyz';
console.log(/[a-z]/.test(str2)) // true
console.log(/[b-g]/.test(str2)) // false
const str3 = '안녕';
console.log(/[a-zA-z]/.test(str3)) // false
console.log(/[ㄱ-ㅎ가-힣ㅏ-ㅣ]/.test(str3)) // true
문자 범위를 지정해서 들어가 있는지 확인한다.
const str4 = 'abc';
console.log(/^a/.test(str4)) // true
console.log(/c$/.test(str4)) // true
^는 시작하는 문자, $는 끝나는 문자를 체크해준다.
const str5 = 'aaaa';
console.log(/a+/.test(str5)) // true aaaa
+를 붙이게 되면 a뒤에 똑같은 문자가 있는지 확인해준다.
정규식에서는 플래그(Flags)를 사용하여 검색의 방법과 동작을 세부적으로 제어할 수 있습니다.
const str = 'Hello, hello, HELLO';
console.log(/hello/gi/.test(str) // true Hello, hello, HELLO
i : 대소문자 무시하여 검색
g : 전역 검색, 일치하는 모든 부분을 찾는다.
이메일 검사
const email = 'abc23@gmail.com'
console.log(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(email)) //true
핸드폰번호 검사
const number = '010-1234-5678'
console.log(/^\d{3}-\d{3,4}-\d{4}$/.test(number)) // true