웹 프론트엔드 JS 튜토리얼 JS는 확인 이메일/이메일 주소를 정기적으로 만듭니다.

JS는 확인 이메일/이메일 주소를 정기적으로 만듭니다.

Jun 09, 2018 pm 02:09 PM
우편

이번에는 JS를 사용하여 정기 확인 이메일/이메일 주소를 만들 때 주의할 점은 무엇인가요? 실제 사례를 살펴보겠습니다.

규칙은 다음과 같이 정의됩니다.

  • 대문자 [A-Z], 소문자 [a-z], 숫자 [0-9], 밑줄 [_], 빼기 기호 [-] 및 마침표 [.]로 시작합니다. 한 번 이상 반복해야 합니다 [+].

  • 중간에 @ 기호를 포함해야 합니다.

  • @은 대문자[A-Z], 소문자[a-z], 숫자[0-9], 밑줄[_], 빼기 기호[-], 마침표[.]로 연결되어야 하며 반복되어야 합니다. 대부분 한 번 [+].

  • 끝은 2~4자리의 대문자와 소문자 [A-Za-z]{2,4}를 연결하는 마침표[.]여야 합니다.

위 규칙을 사용하여 다음 정규 표현식을 제공합니다.

var pattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
로그인 후 복사

완전한 테스트 코드

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>邮箱/邮件地址的正则表达式及分析(JavaScript,email,regex)</title>
</head>
<body>
<p id="main"></p>
<script>
  var pattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  w("pattern.test('cn42du@163.com') = "+pattern.test('cn42du@163.com')+";");
  w("pattern.test('ifat3@sina.com.cn') = "+pattern.test('ifat3@sina.com.cn')+";");
  w("pattern.test('ifat3.it@163.com') = "+pattern.test('ifat3.it@163.com')+";");
  w("pattern.test('ifat3_-.@42du.cn') = "+pattern.test('ifat3_-.@42du.cn')+";");
  w("pattern.test('ifat3@42du.online') = "+pattern.test('ifat3@42du.online')+";");
  w("pattern.test('毛三胖@42du.cn') = "+pattern.test('毛三胖@42du.cn')+";");
  function w(val) {
    document.getElementById("main").innerHTML += val +"<br />";
  }
</script>
</body>
</html>
로그인 후 복사

테스트 결과:

pattern.test('cn42du@163.com') = true;
pattern.test( ' ifat3@sina.com.cn') = true;
pattern.test('ifat3.it@163.com') = true;
pattern.test('ifat3_-.@42du.cn') = true;
패턴 .test('ifat3@42du.online') = false;
pattern.test('Mao Sanpang@42du.cn') = false;
pattern.test('cn42du@163.com') = true;
pattern .test('ifat3@sina.com.cn') = true;
pattern.test('ifat3.it@163.com') = true;
pattern.test('ifat3_-.@42du.cn') = true;
pattern.test('ifat3@42du.online') = false;
pattern.test('Mao Sanpang@42du.cn') = false;

옵션 1 설명

옵션 1이 가장 많습니다. 일반적으로 사용되는 이메일 정규식 확인 솔루션은 대부분의 애플리케이션 시나리오에도 적합합니다. 위 테스트에서 볼 수 있듯이 이 표현식은 .online 및 .store로 끝나는 도메인 이름을 지원하지 않습니다. 이러한 유형의 도메인 이름(4자리 이상)과 호환되어야 하는 경우 정규식 {2,4} 끝의 제한 부분을 조정하면 됩니다(예: {2,8}). 또 다른 문제는 이메일 사용자 이름에 중국어 문자가 포함될 수 없다는 것입니다.

옵션 2(수정된 옵션 1)

규칙은 다음과 같이 보완됩니다.

  • 사용자 이름에는 중국어 [u4e00-u9fa5]를 포함할 수 있습니다.

  • 도메인 이름은 최대 8자리로 끝날 수 있습니다. 2,8}

  • 업데이트된 정규식은 다음과 같습니다.

var pattern = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/;
로그인 후 복사

전체 테스트 코드

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>邮箱/邮件地址的正则表达式及分析(JavaScript,email,regex)</title>
</head>
<body>
<p id="main"></p>
<script>
  var pattern = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/;
  w("pattern.test('cn42du@163.com') = "+pattern.test('cn42du@163.com')+";");
  w("pattern.test('ifat3@sina.com.cn') = "+pattern.test('ifat3@sina.com.cn')+";");
  w("pattern.test('ifat3.it@163.com') = "+pattern.test('ifat3.it@163.com')+";");
  w("pattern.test('ifat3_-.@42du.cn') = "+pattern.test('ifat3_-.@42du.cn')+";");
  w("pattern.test('ifat3@42du.online') = "+pattern.test('ifat3@42du.online')+";");
  w("pattern.test('毛三胖@42du.cn') = "+pattern.test('毛三胖@42du.cn')+";");
  function w(val) {
    document.getElementById("main").innerHTML += val +"<br />";
  }
</script>
</body>
</html>
로그인 후 복사

테스트 결과:

pattern.test('cn42du@163.com') = true;
pattern .test('ifat3@ sina.com.cn') = true;
pattern.test('ifat3.it@163.com') = true;
pattern.test('ifat3_-.@42du.cn') = true;
pattern.test ('ifat3@42du.online') = true;
pattern.test('Mao Sanpang@42du.cn') = true;

옵션 3(안전)

모바일에 앞서 전화 인증 코드가 나타나면 거의 이메일 인증이 사용자 고유성을 보장하는 유일한 조건입니다. 임시 사서함(10분 사서함 또는 일회용 사서함이라고도 함)의 출현으로 인해 사서함 확인 및 계정 활성화 메커니즘이 의미가 없게 됩니다. 임시 이메일 주소는 열거할 수 없습니다. 제한된 수의 이메일 도메인 이름만 확인을 통과하도록 허용하는 화이트리스트만 사용할 수 있습니다.

플랜 1의 다음 추가 규칙에 따라:

이메일 도메인 이름은 163.com, qq.com 또는 42du.cn만 가능합니다.
정규 표현식은 다음과 같습니다:

var pattern = /^([A-Za-z0-9_\-\.])+\@(163.com|qq.com|42du.cn)$/;
로그인 후 복사

완전한 테스트 코드

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="utf-8">
  <title>邮箱/邮件地址的正则表达式及分析(JavaScript,email,regex)</title>
</head>
<body>
<p id="main"></p>
<script>
  var pattern = /^([A-Za-z0-9_\-\.])+\@(163.com|qq.com|42du.cn)$/;
  w("pattern.test('cn42du@163.com') = "+pattern.test('cn42du@163.com')+";");
  w("pattern.test('ifat3@sina.com.cn') = "+pattern.test('ifat3@sina.com.cn')+";");
  w("pattern.test('ifat3.it@163.com') = "+pattern.test('ifat3.it@163.com')+";");
  w("pattern.test('ifat3_-.@42du.cn') = "+pattern.test('ifat3_-.@42du.cn')+";");
  w("pattern.test('ifat3@42du.online') = "+pattern.test('ifat3@42du.online')+";");
  w("pattern.test('毛三胖dd@42du.cn') = "+pattern.test('毛三胖@42du.cn')+";");
  function w(val) {
    document.getElementById("main").innerHTML += val +"<br />";
  }
</script>
</body>
</html>
로그인 후 복사

테스트 결과:

pattern.test('cn42du@163.com') = true;
pattern.test('ifat3@sina.com.cn') = false;
pattern.test('ifat3.it@163.com') = true;
pattern.test('ifat3_-.@42du.cn') = true;
pattern.test('ifat3@42du.online') = false;
pattern.test('毛三胖dd@42du.cn') = false;
로그인 후 복사

스킴 3 검증은 보안을 보장할 수 있지만 화이트리스트가 너무 길면 패턴 문자열도 너무 길어집니다. 이때 이메일 도메인 이름 화이트리스트를 배열로 작성하고, 1차 검증에는 정규식을, 도메인 이름의 2차 검증에는 화이트리스트를 사용할 수 있습니다.

이제 이메일 확인 기능이 다음과 같이 제공됩니다.

var isEmail = function (val) {
  var pattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
  var domains= ["qq.com","163.com","vip.163.com","263.net","yeah.net","sohu.com","sina.cn","sina.com","eyou.com","gmail.com","hotmail.com","42du.cn"];
  if(pattern.test(val)) {
    var domain = val.substring(val.indexOf("@")+1);
    for(var i = 0; i< domains.length; i++) {
      if(domain == domains[i]) {
        return true;
      }
    }
  }
  return false;
}
// 输出 true
isEmail(cn42du@163.com);
로그인 후 복사

위의 isEmail() 함수에는 일반적으로 사용되는 11개의 이메일 도메인 이름이 나열되어 있습니다. 필요에 따라 추가하거나 삭제할 수 있습니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

axios의 302 상태 코드

Vue2 라우팅 탐색 후크를 캡슐화하고 실제 전투에서 사용

위 내용은 JS는 확인 이메일/이메일 주소를 정기적으로 만듭니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
1 몇 달 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Gate.io 등록 자습서 Gate.io 등록 자습서 Mar 31, 2025 pm 11:09 PM

이 기사는 공식 웹 사이트에 액세스하는 것부터 등록 정보 작성, 등록 정보 작성, 확인, 사용자 계약 읽기 등의 모든 단계를 다루는 자세한 Gate.io 등록 자습서를 제공합니다.이 기사는 또한 2 차 검증을 설정하고 실제 인증을 설정하고 초보자의 디지털 자산 거래를 시작하는 등의 성공적인 등록을 성공적으로 등록한 후 보안 조치를 강조합니다.

초보자를위한 Gate.io 최신 등록 자습서 초보자를위한 Gate.io 최신 등록 자습서 Mar 31, 2025 pm 11:12 PM

이 기사는 초보자에게 자세한 GATE.IO 등록 자습서를 제공하여 공식 웹 사이트 액세스, 정보 작성, 신원 확인 등을 포함하여 등록 프로세스를 점차적으로 완료하도록 안내하고 등록 후 보안 설정을 강조합니다. 또한이 기사는 Binance, Ouyi 및 참깨 오픈 도어와 같은 다른 교환을 언급했습니다. 초보자는 자신의 요구에 따라 올바른 플랫폼을 선택하고 독자들에게 디지털 자산 투자가 위험하고 합리적으로 투자해야한다는 것을 상기시키는 것이 좋습니다.

Laravel에서 이메일 전송이 실패 할 때 반환 코드를 얻는 방법은 무엇입니까? Laravel에서 이메일 전송이 실패 할 때 반환 코드를 얻는 방법은 무엇입니까? Apr 01, 2025 pm 02:45 PM

Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

Laravel에서는 이메일로 확인 코드를 보내지 못하는 상황을 처리하는 방법은 무엇입니까? Laravel에서는 이메일로 확인 코드를 보내지 못하는 상황을 처리하는 방법은 무엇입니까? Mar 31, 2025 pm 11:48 PM

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

Gate.io 웹 버전의 최신 등록 자습서 Gate.io 웹 버전의 최신 등록 자습서 Mar 31, 2025 pm 11:15 PM

이 기사는 사용자가 디지털 자산 거래를 쉽게 시작할 수 있도록 자세한 Gate.io 웹 버전 최신 등록 자습서를 제공합니다. 이 자습서는 공식 웹 사이트에 액세스하는 것부터 등록 완료에 이르기까지 모든 단계를 다루고 등록 후 보안 설정을 강조합니다. 이 기사는 또한 Binance, Ouyi 및 참깨 오픈 도어와 같은 다른 거래 플랫폼을 간략하게 소개합니다. 사용자는 자신의 요구에 따라 올바른 플랫폼을 선택하고 투자 위험에주의를 기울이는 것이 좋습니다.

Bitget 공식 웹 사이트에서 최신 앱을 등록하고 다운로드하는 방법 Bitget 공식 웹 사이트에서 최신 앱을 등록하고 다운로드하는 방법 Mar 05, 2025 am 07:54 AM

이 안내서는 Android 및 iOS 시스템에 적합한 공식 Bitget Exchange 앱에 대한 자세한 다운로드 및 설치 단계를 제공합니다. 이 안내서는 공식 웹 사이트, App Store 및 Google Play를 포함한 여러 권위있는 소스의 정보를 통합하고 다운로드 및 계정 관리 중 고려 사항을 강조합니다. 사용자는 App Store, 공식 웹 사이트 APK 다운로드 및 공식 웹 사이트 Jump, 완전한 등록, 신원 확인 및 보안 설정을 포함한 공식 채널에서 앱을 다운로드 할 수 있습니다. 또한 가이드는 자주 묻는 질문과 다음과 같은 고려 사항을 다룹니다.

OUYI 공식 웹 사이트의 최신 등록 포털 OUYI 공식 웹 사이트의 최신 등록 포털 Mar 21, 2025 pm 05:54 PM

세계 최고의 디지털 자산 거래 플랫폼 인 Ouyi Okx는 풍부한 거래 제품, 강력한 보안 보증 및 편리한 사용자 경험으로 많은 투자자를 유치합니다. 그러나 네트워크 보안의 위험이 점점 심해지고 있으며 공식 OUYI OKX 계정을 안전하게 등록하는 방법이 중요합니다. 이 기사는 OUYI OKX 공식 웹 사이트의 최신 등록 포털을 제공하고 공식 웹 사이트를 식별하고 강력한 암호를 설정하고 2 인용 암호 검증을 활성화하는 방법을 포함하여 안전한 등록 단계와 예방 조치를 자세히 설명하여 디지털 자산 투자 여행을 안전하고 편리하게 시작하는 데 도움이됩니다. 디지털 자산 투자에는 위험이 있습니다. 신중한 결정을 내리십시오.

OUYI OKEX 계정을 등록, 사용 및 취소하는 방법에 대한 자습서 OUYI OKEX 계정을 등록, 사용 및 취소하는 방법에 대한 자습서 Mar 31, 2025 pm 04:21 PM

이 기사는 Ouyi Okex 계정의 등록, 사용 및 취소 절차를 자세히 소개합니다. 등록하려면 앱을 다운로드하고 휴대폰 번호 또는 이메일 주소를 입력하여 등록하고 실제 인증을 완료해야합니다. 사용법은 로그인, 재충전 및 인출, 거래 및 보안 설정과 같은 운영 단계를 다룹니다. 계정을 취소하려면 OUYI OKEX 고객 서비스에 문의하고 필요한 정보를 제공하고 처리를 기다린 후 마지막으로 계정 취소 확인을 얻어야합니다. 이 기사를 통해 사용자는 Ouyi Okex 계정의 전체 수명주기 관리를 쉽게 마스터하고 디지털 자산 거래를 안전하고 편리하게 수행 할 수 있습니다.

See all articles