>웹 프론트엔드 >JS 튜토리얼 >JavaScript 정규식을 사용하여 이메일 주소를 어떻게 검증할 수 있습니까?

JavaScript 정규식을 사용하여 이메일 주소를 어떻게 검증할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-26 10:40:11746검색

How Can I Validate Email Addresses Using JavaScript Regular Expressions?

JavaScript의 정규 표현식을 사용한 이메일 유효성 검사

잘못된 사용자 입력을 방지하기 위해 JavaScript는 이메일 주소를 전송하기 전에 유효성 검사를 허용합니다. 서버에 접속하거나 서버에 이메일을 보내려고 합니다.

JavaScript에서 이메일 주소를 확인하는 가장 신뢰할 수 있는 접근 방식입니다. 정규식을 사용하는 것입니다. 다음 정규식은 ASCII 문자를 허용합니다.

const validateEmail = (email) => {
  return String(email)
    .toLowerCase()
    .match(
      /^(([^<>()[\]\.,;:\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,}))$/
    );
};

유니코드 지원을 위해 더 포괄적인 정규식을 사용할 수 있습니다.

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

그러나 JavaScript 유효성 검사는 그렇지 않다는 점을 기억하는 것이 중요합니다. 혼자만 의존하게 됩니다. 클라이언트 측 유효성 검사는 쉽게 우회됩니다. 서버측 검증도 필요합니다.

다음은 클라이언트측 JavaScript 이메일 검증의 예입니다.

const validateEmail = (email) => {
  return email.match(
    /^(([^<>()[\]\.,;:\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,}))$/
  );
};

const 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 invalid.');
    $result.css('color', 'red');
  }
  return false;
}

$('#email').on('input', validate);

이 예에서는 버튼을 사용하여 검증을 실행하고 결과입니다.

위 내용은 JavaScript 정규식을 사용하여 이메일 주소를 어떻게 검증할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.