정규 표현식은 특정한 규칙을 가진 문자열의 패턴을 표현하는데 사용하는 표현식(Expression)으로 텍스트에서 특정 문자열을 검색하거나 치환할 때 흔히 사용됩니다. 예를 들어, 웹페이지에서 전화번호나 이메일 주소를 발췌한다거나 로그파일에서 특정 에러메시지가 들어간 라인들을 찾을 때 정규 표현식을 사용하면 쉽게 구현할 수 있습니다. 정규 표현식은 간단히 정규식, Regex 등으로 불리기도 합니다.
email 주소 유효성 검사 정규표현식: '계정@도메인.최상위도메인' 형식의 데이터를 찾는 정규표현식입니다.'^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$'
. ^: 패턴의 시작을 의미
. $: 패턴의 종료를 의미
. a-zA-Z0-9(a~z, A~Z, 0~9. 즉 알파벳(대소문자)+숫자를 의미)
휴대폰 번호 유효성 검사 정규표현식
'\d{3}-\d{3,4}-\d{4}'
'3자리 숫자 - 3자리 or 4자리 숫자 - 4자리 숫자' 형태의 데이터를 찾는 정규표현식
비밀번호 유효성 검사 정규표현식
최소 8 자, 최소 하나의 문자, 하나의 숫자 및 하나의 특수 문자 :
"^(?=.[A-Za-z])(?=.\d)(?=.[@!%#?&])[A-Za-z\d@!%*#?&]{8,}$"
//로그인 모달 내 이메일과 비밀번호 유효 알람 발생
$("#login-modal-form").on("submit", function (e) {
let emailInput = document.getElementById("exampleInputEmail1").value;
let emailRegex = /^[a-zA-Z0-9+-_.]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$/;
let pwInput = document.getElementById("exampleInputPassword1").value;
let pwRegex = /[A-Z]/;
if (emailInput.trim() === "") {
alert("email 주소를 입력하세요.");
e.preventDefault();
} else if (!emailRegex.test(emailInput)) {
alert("올바른 email 형식이 아닙니다.");
e.preventDefault();
}
if (pwInput.trim() === "") {
alert("비밀번호를 입력하세요.");
e.preventDefault();
} else if (!pwRegex.test(pwInput)) {
alert("비밀번호에 대문자 포함해주세요");
e.preventDefault();
}
});