이메일 정규식 생성하기 (메일주소 앞에 하이픈 (-) 존재시)
이메일 앞에
하이픈(-)을 넣어서 생성한 사용자가 간혹 보입니다. 그 분은
daum.net 계정을 가지고 있는 분이더군요.
그래서 이 분들을 위해 메일 계정에 대한 정규식을 만들어 봤습니다.
/[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]$/i
- http://rubular.com/
- https://regexper.com/
이메일 주소의 특수문자 중 점( . ) 하이픈( - ) 언더바( _ ) 만 사용 가능
이제는 이메일 글자 앞 중간 뒤에 영문+숫자 포함하여 특수문자 중 점( . ) 하이픈( - ) 언더바( _ ) 만 사용 가능하도록 하는 정규식입니다.
^([\w\.\_\-])*[a-zA-Z0-9]+([\w\.\_\-])*([a-zA-Z0-9])+([\w\.\_\-])+@([a-zA-Z0-9]+\.)+[a-zA-Z0-9]{2,8}$
테스트 하기
a2a222a@univ.me //성공
a2a.-2_22a@univ.me //성공
_a2a222a_@univ.me //성공
-a2a222a-@univ.me //성공
.a2a222a.@univ.me //성공
.a2_a-2.22a.@univ.me //성공
*test@univ.me //실패
@test@univ.me //실패
test@@univ.me //실패
chatGpt 에게 물어보자!!!
```javascript
function isValidEmail(email) {
var pattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return pattern.test(email);
}
// Example usage
var email1 = "john.doe123@example.com"; // Valid
var email2 = "jane_s@my-email.com"; // Valid
var email3 = "bob+smith@example.net"; // Invalid
console.log(isValidEmail(email1)); // Output: true
console.log(isValidEmail(email2)); // Output: true
console.log(isValidEmail(email3)); // Output: false
```