ホームページ ウェブフロントエンド jsチュートリアル JS は検証メール/メールアドレスを定期的にします

JS は検証メール/メールアドレスを定期的にします

Jun 09, 2018 pm 02:09 PM
郵便

今回は定期認証メール/メールアドレスを作成するための JS を紹介します。JS を使用して定期認証メール/メールアドレスを作成する場合の注意点は何ですか? ここでは実際の事例を見てみましょう。

ルールは次のように定義されています:

  • は大文字[A-Z]、小文字[a-z]、数字[0-9]、アンダースコア[_]、マイナス記号[-]、ピリオド[.]で始まります。 1 回以上繰り返す必要がある [+]。

  • は真ん中に@記号を含める必要があります。

  • @は、大文字[A-Z]、小文字[a-z]、数字[0-9]、アンダースコア[_]、マイナス記号[-]、ピリオド[.]で接続し、繰り返す必要があります。多くても 1 回 [+]。

  • 末尾は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;
パターン.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})。もう 1 つの問題は、電子メールのユーザー名に漢字を含めることができないことです。

オプション 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 の検証によりセキュリティは確保できますが、ホワイトリストが長すぎると、パターン文字列も長くなりすぎます。このとき、電子メール ドメイン名のホワイトリストを配列として記述し、予備検証に正規表現を使用し、ドメイン名の二次検証にホワイトリストを使用できます。

電子メール検証関数は次のようになります:

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 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

axios の 302 ステータス コード

Vue2 ルーティング ナビゲーション フックのカプセル化と実戦での使用

以上がJS は検証メール/メールアドレスを定期的にしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

gate.io登録チュートリアル gate.io登録チュートリアル Mar 31, 2025 pm 11:09 PM

この記事では、公式ウェブサイトへのアクセスから登録の完了までのすべてのステップをカバーする詳細なgate.io登録チュートリアルを提供します。登録情報の記入、検証、ユーザー契約の読み取りなどを説明します。この記事では、登録の成功後、レアルネーム認証を完了した後のセキュリティ対策を強調し、初心者からのヒントを提供して、デジタルアセットの交通旅を開始するためのヒントを提供します。

初心者向けのgate.io最新の登録チュートリアル 初心者向けのgate.io最新の登録チュートリアル Mar 31, 2025 pm 11:12 PM

この記事では、初心者に詳細なgate.io登録チュートリアルを提供し、公式ウェブサイトへのアクセス、情報、身元確認などを埋めるなど、登録プロセスを徐々に完了するように導き、登録後のセキュリティ設定を強調します。さらに、この記事は、Binance、Ouyi、Sesame Open Doorなどの他の交換についても言及しました。初心者は自分のニーズに応じて適切なプラットフォームを選択し、デジタル資産への投資がリスクがあり、合理的に投資する必要があることを読者に思い出させることをお勧めします。

Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Laravelで電子メールの送信が失敗したときに返品コードを取得する方法は? Apr 01, 2025 pm 02:45 PM

Laravelの電子メールの送信が失敗したときに戻りコードを取得する方法。 Laravelを使用してアプリケーションを開発する場合、検証コードを送信する必要がある状況に遭遇することがよくあります。そして実際には...

セサミオープンドアエクスチェンジウェブページログイン最新バージョンgateio公式ウェブサイトの入り口 セサミオープンドアエクスチェンジウェブページログイン最新バージョンgateio公式ウェブサイトの入り口 Mar 04, 2025 pm 11:48 PM

ログインステップやパスワード回復プロセスなど、セサミオープンエクスチェンジWebバージョンのログイン操作の詳細な紹介も、ログイン障害、ページを開くことができず、プラットフォームにスムーズにログインするのに役立つ検証コードを受信できません。

Laravelでは、検証コードが電子メールで送信できない状況に対処する方法は? Laravelでは、検証コードが電子メールで送信できない状況に対処する方法は? Mar 31, 2025 pm 11:48 PM

Laravelの電子メールの検証コードの送信の障害を処理する方法は、Laravelを使用することです...

gate.io Webバージョンの最新の登録チュートリアル gate.io Webバージョンの最新の登録チュートリアル Mar 31, 2025 pm 11:15 PM

この記事では、詳細なgate.io Webバージョンの最新登録チュートリアルを提供して、ユーザーがデジタル資産取引を簡単に開始できるようにします。チュートリアルは、公式ウェブサイトへのアクセスから登録の完了までのあらゆるステップをカバーし、登録後のセキュリティ設定を強調しています。この記事では、Binance、Ouyi、Sesame Open Doorなどの他の取引プラットフォームも簡単に紹介しています。ユーザーは自分のニーズに応じて適切なプラットフォームを選択し、投資リスクに注意を払うことをお勧めします。

Bitget公式Webサイトで最新のアプリを登録およびダウンロードする方法 Bitget公式Webサイトで最新のアプリを登録およびダウンロードする方法 Mar 05, 2025 am 07:54 AM

このガイドは、AndroidおよびiOSシステムに適した公式Bitget Exchangeアプリの詳細なダウンロードとインストール手順を提供します。このガイドは、公式ウェブサイト、App Store、Google Playなど、複数の権威ある情報源からの情報を統合し、ダウンロードおよびアカウント管理中の考慮事項を強調しています。ユーザーは、App Store、公式WebサイトAPKダウンロード、公式Webサイトジャンプ、完全な登録、ID検証、セキュリティ設定など、公式チャネルからアプリをダウンロードできます。さらに、ガイドはよくある質問や考慮事項をカバーします。

OUYI公式ウェブサイトの最新の登録ポータル OUYI公式ウェブサイトの最新の登録ポータル Mar 21, 2025 pm 05:54 PM

世界をリードするデジタル資産取引プラットフォームとして、OUYI OKXは、豊富な取引製品、強力なセキュリティ保証、便利なユーザーエクスペリエンスで多くの投資家を引き付けます。ただし、ネットワークセキュリティのリスクはますます深刻になっており、公式のOUYI OKXアカウントを安全に登録する方法が重要です。この記事では、OUYI OKX公式ウェブサイトの最新の登録ポータルを提供し、公式ウェブサイトの識別、強力なパスワードの設定、2因子検証など、デジタル資産投資の旅を安全かつ便利に開始する方法など、安全な登録の手順と注意事項を詳細に説明します。デジタル資産投資にはリスクがあることに注意してください。慎重な決定を下してください。

See all articles