프로그래밍 언어/JAVA

JavaScript에서 이메일 주소를 확인하는 방법 (정규식)

Rateye 2021. 11. 24. 12:27
728x90
반응형
질문 : JavaScript에서 이메일 주소를 확인하는 방법

JavaScript에서 이메일 주소를 검증하는 정규식이 있습니까?

답변

정규식을 사용하는 것이 아마도 가장 좋은 방법 일 것입니다. 여기 에서 여러 테스트를 볼 수 있습니다 ( 크롬 에서 가져옴)

function validateEmail(email) {
    const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(String(email).toLowerCase());
}

다음은 유니 코드를 허용하는 정규 표현식의 예입니다.

const re = /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;

그러나 JavaScript 유효성 검사에만 의존해서는 안됩니다. JavaScript는 쉽게 비활성화 할 수 있습니다. 이것은 서버 측에서도 검증되어야합니다.

다음은 위의 작동 예입니다.

function validateEmail(email) {
  const re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  return re.test(email);
}

function validate() {
  const $result = $("#result");
  const email = $("#email").val();
  $result.text("");

  if (validateEmail(email)) {
    $result.text(email + " is valid :)");
    $result.css("color", "green");
  } else {
    $result.text(email + " is not valid :(");
    $result.css("color", "red");
  }
  return false;
}

$("#email").on("input", validate);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label for=email>Enter an email address:</label>
<input id="email">
<h2 id="result"></h2>
출처 : https://stackoverflow.com/questions/46155/how-to-validate-an-email-address-in-javascript
728x90
반응형