이 메일 정규 표현식
const emailRegex = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/;
emailRegex.test(testEmailAddress); // true || false
- ^[a-z0-9._%+-]+: 이메일의 로컬 파트에서 영어 소문자 알파벳, 숫자, 점(.), 밑줄(_), 퍼센트(%), 플러스(+), 하이픈(-)을 허용
- @[a-z0-9.-]+: 도메인 부분에서 영어 소문자 알파벳, 숫자, 점(.), 하이픈(-)을 허용
- \.[a-zA-Z]{2,}$: 최상위 도메인 부분에서 최소 2자 이상의 영어 알파벳을 허용
이메일의 시작과 끝에 특수문자 있는지 확인
const specialChars = /[!#$%&'*+/=?^_`{|}~-]/;
const localPart = email.split('@')[0];
if (specialChars.test(localPart[0]) || specialChars.test(localPart[localPart.length - 1])) {
return false;
}
특수문자가 연속으로 사용되었는지 확인
for (let i = 0; i < localPart.length - 1; i++) {
if (specialChars.test(localPart[i]) && specialChars.test(localPart[i + 1])) {
args.constraints[0] = 'consecutiveSpecialChars';
return false;
}
}
'서버 & 웹 개발 노트 > 정규 표현식 기록' 카테고리의 다른 글
[ regexp ] 영문자, 숫자, 한글, 공백으로만 이루어진 문자열을 매칭 (0) | 2024.07.13 |
---|---|
[ regexp ] 공백제거 및 확인 (0) | 2024.06.18 |
[ regexp ] 문장 속에서 숫자 및 변수 찾는 법 (0) | 2024.05.18 |