Maison interface Web js tutoriel Utilisez des expressions régulières pour filtrer les adresses e-mail/adresses e-mail

Utilisez des expressions régulières pour filtrer les adresses e-mail/adresses e-mail

May 24, 2018 am 10:13 AM
email 表达式 邮箱

Cette fois, je vais vous présenter les précautions pour utiliser les expressions régulières pour filtrer les boîtes aux lettres/adresses e-mail et pour utiliser les expressions régulières pour filtrer les boîtes aux lettres/adresses e-mail. Voici les éléments suivants. jetez un oeil à des cas pratiques.

Lors de l'enregistrement des utilisateurs, des expressions régulières pour les adresses e-mail/e-mail sont souvent utilisées. Cet article répertorie plusieurs solutions. Vous pouvez choisir la solution la plus adaptée en fonction de la situation de votre projet

En bref

Lors de l'enregistrement des utilisateurs, l'e-mail est souvent utilisé /Expression régulière pour adresse email. Cet article répertorie plusieurs options. Vous pouvez choisir l'option la plus appropriée en fonction de la situation de votre projet.

Utilisez des expressions régulières pour filtrer les adresses e-mail/adresses e-mail

Option 1 (couramment utilisée)

Les règles sont définies comme suit :

  • en lettres majuscules Il commence par des lettres [A-Z], des lettres minuscules [a-z], des chiffres [0-9], un trait de soulignement [_], un signe moins [-] et un point [.], et doit être répété une ou plusieurs fois. fois [+].

  • doit inclure le symbole @ au milieu.

  • @ doit être suivi de lettres majuscules [A-Z], de lettres minuscules [a-z], de chiffres [0-9], d'un trait de soulignement [_], d'un signe moins [-] et d'un point [ .], et doit être répété une ou plusieurs fois [+].

  • doit se terminer par un point [.] reliant 2 à 4 chiffres de lettres majuscules et minuscules [A-Za-z]{2,4}.

Utilisez les règles ci-dessus pour donner l'expression régulière suivante :

var pattern = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
Copier après la connexion

Code de test complet

<!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(&#39;cn42du@163.com&#39;) = "+pattern.test(&#39;cn42du@163.com&#39;)+";");
  w("pattern.test(&#39;ifat3@sina.com.cn&#39;) = "+pattern.test(&#39;ifat3@sina.com.cn&#39;)+";");
  w("pattern.test(&#39;ifat3.it@163.com&#39;) = "+pattern.test(&#39;ifat3.it@163.com&#39;)+";");
  w("pattern.test(&#39;ifat3_-.@42du.cn&#39;) = "+pattern.test(&#39;ifat3_-.@42du.cn&#39;)+";");
  w("pattern.test(&#39;ifat3@42du.online&#39;) = "+pattern.test(&#39;ifat3@42du.online&#39;)+";");
  w("pattern.test(&#39;毛三胖@42du.cn&#39;) = "+pattern.test(&#39;毛三胖@42du.cn&#39;)+";");
  function w(val) {
    document.getElementById("main").innerHTML += val +"<br />";
  }
</script>
</body>
</html>
Copier après la connexion

Résultat du test :

pattern.test(&#39;cn42du@163.com&#39;) = true;
pattern.test(&#39;ifat3@sina.com.cn&#39;) = true;
pattern.test(&#39;ifat3.it@163.com&#39;) = true;
pattern.test(&#39;ifat3_-.@42du.cn&#39;) = true;
pattern.test(&#39;ifat3@42du.online&#39;) = false;
pattern.test(&#39;毛三胖@42du.cn&#39;) = false;
pattern.test(&#39;cn42du@163.com&#39;) = true;
pattern.test(&#39;ifat3@sina.com.cn&#39;) = true;
pattern.test(&#39;ifat3.it@163.com&#39;) = true;
pattern.test(&#39;ifat3_-.@42du.cn&#39;) = true;
pattern.test(&#39;ifat3@42du.online&#39;) = false;
pattern.test(&#39;毛三胖@42du.cn&#39;) = false;
Copier après la connexion

Description de la solution 1

La solution 1 est la solution de vérification des expressions régulières de courrier électronique la plus couramment utilisée et convient à la plupart des scénarios d'application. Comme le montre le test ci-dessus, cette expression ne prend pas en charge les noms de domaine se terminant par .online et .store. Si vous devez être compatible avec ce type de nom de domaine (plus de 4 chiffres), ajustez simplement la partie restriction à la fin de l'expression régulière {2,4} (par exemple : {2,8}). Un autre problème est que les noms d’utilisateur de messagerie ne peuvent pas inclure de caractères chinois.

Option 2 (option 1 révisée)

Les règles sont complétées comme suit :

  • Les noms d'utilisateur peuvent inclure le chinois [u4e00 -u9fa5 ]

  • La fin du nom de domaine peut comporter jusqu'à 8 caractères {2,8}

  • L'expression régulière mise à jour est la suivante suit :

var pattern = /^([A-Za-z0-9_\-\.\u4e00-\u9fa5])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,8})$/;
Copier après la connexion

Code de test complet

<!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(&#39;cn42du@163.com&#39;) = "+pattern.test(&#39;cn42du@163.com&#39;)+";");
  w("pattern.test(&#39;ifat3@sina.com.cn&#39;) = "+pattern.test(&#39;ifat3@sina.com.cn&#39;)+";");
  w("pattern.test(&#39;ifat3.it@163.com&#39;) = "+pattern.test(&#39;ifat3.it@163.com&#39;)+";");
  w("pattern.test(&#39;ifat3_-.@42du.cn&#39;) = "+pattern.test(&#39;ifat3_-.@42du.cn&#39;)+";");
  w("pattern.test(&#39;ifat3@42du.online&#39;) = "+pattern.test(&#39;ifat3@42du.online&#39;)+";");
  w("pattern.test(&#39;毛三胖@42du.cn&#39;) = "+pattern.test(&#39;毛三胖@42du.cn&#39;)+";");
  function w(val) {
    document.getElementById("main").innerHTML += val +"<br />";
  }
</script>
</body>
</html>
Copier après la connexion

Résultats du test :

pattern.test(&#39;cn42du@163.com&#39;) = true;
pattern.test(&#39;ifat3@sina.com.cn&#39;) = true;
pattern.test(&#39;ifat3.it@163.com&#39;) = true;
pattern.test(&#39;ifat3_-.@42du.cn&#39;) = true;
pattern.test(&#39;ifat3@42du.online&#39;) = true;
pattern.test(&#39;毛三胖@42du.cn&#39;) = true;
Copier après la connexion

Option 3 (sécurité)

Avant l'émergence des codes de vérification des téléphones mobiles, presque la vérification des e-mails était la seule condition pour garantir l'unicité de l'utilisateur. L’émergence de boîtes aux lettres temporaires (également appelées boîtes aux lettres de 10 minutes ou boîtes aux lettres jetables) rend inutile le mécanisme de vérification des boîtes aux lettres et d’activation des comptes. Les adresses e-mail temporaires ne sont pas énumérables, nous ne pouvons donc utiliser qu'une liste blanche pour permettre à un nombre limité de noms de domaine de messagerie de passer la vérification.

Règles supplémentaires selon l'option 1 :

Le nom de domaine email ne peut être que 163.com, qq.com ou 42du.cn.
L'expression régulière est donnée comme suit :

var pattern = /^([A-Za-z0-9_\-\.])+\@(163.com|qq.com|42du.cn)$/;
Copier après la connexion

Code de test complet

<!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(&#39;cn42du@163.com&#39;) = "+pattern.test(&#39;cn42du@163.com&#39;)+";");
  w("pattern.test(&#39;ifat3@sina.com.cn&#39;) = "+pattern.test(&#39;ifat3@sina.com.cn&#39;)+";");
  w("pattern.test(&#39;ifat3.it@163.com&#39;) = "+pattern.test(&#39;ifat3.it@163.com&#39;)+";");
  w("pattern.test(&#39;ifat3_-.@42du.cn&#39;) = "+pattern.test(&#39;ifat3_-.@42du.cn&#39;)+";");
  w("pattern.test(&#39;ifat3@42du.online&#39;) = "+pattern.test(&#39;ifat3@42du.online&#39;)+";");
  w("pattern.test(&#39;毛三胖dd@42du.cn&#39;) = "+pattern.test(&#39;毛三胖@42du.cn&#39;)+";");
  function w(val) {
    document.getElementById("main").innerHTML += val +"<br />";
  }
</script>
</body>
</html>
Copier après la connexion

Résultats du test :

pattern.test(&#39;cn42du@163.com&#39;) = true;
pattern.test(&#39;ifat3@sina.com.cn&#39;) = false;
pattern.test(&#39;ifat3.it@163.com&#39;) = true;
pattern.test(&#39;ifat3_-.@42du.cn&#39;) = true;
pattern.test(&#39;ifat3@42du.online&#39;) = false;
pattern.test(&#39;毛三胖dd@42du.cn&#39;) = false;
Copier après la connexion

Bien que la vérification du schéma 3 puisse garantir propriété de sécurité, mais si la liste blanche est trop longue, le motif chaîne sera trop long. À ce stade, vous pouvez écrire la liste blanche des noms de domaine de messagerie sous forme de tableau, utiliser des expressions régulières pour la vérification préliminaire et utiliser la liste blanche pour la vérification secondaire du nom de domaine.

La fonction de vérification des e-mails est désormais présentée comme suit :

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);
Copier après la connexion

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres. articles connexes sur le site Web PHP chinois !

Lecture recommandée :

Comment utiliser les événements personnalisés Vue.js pour les composants de saisie de formulaire

Vue utilise le tableau suivant pour modifier le tableau Que faire lorsque la page ne s'affiche pas

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sesame Open Door Site officiel Sesame Open Door application Dernier site Web entrant Sesame Open Door Site officiel Sesame Open Door application Dernier site Web entrant Feb 28, 2025 am 11:18 AM

Cet article simule le processus d'enregistrement d'une plate-forme de trading de crypto-monnaie (ou une plate-forme similaire) appelée "Sesame Open Door", en se concentrant sur les trois étapes de l'enregistrement, de la certification KYC et des méthodes de paiement contraignantes, et souligne l'importance de choisir une plate-forme formelle, de protéger les informations personnelles et de la sécurité des fonds. L'article détaille les opérations spécifiques de chaque étape, telles que la visite du site officiel pour vérifier l'identité, le téléchargement des documents de certificat d'identité pour compléter l'authentification KYC et la liaison d'une carte bancaire, etc., et rappelle aux utilisateurs de se méfier des sites Web de phishing et des risques de fraude, de choisir une plate-forme réglementée pour les transactions et de protéger leurs propres droits et intérêts. L'article comprend également un lien vers l'adresse officielle du site Web, ce qui est pratique pour les utilisateurs qui peuvent accéder rapidement.

Portail d'enregistrement officiel d'Okx OUYI 2025 Portail d'enregistrement officiel d'Okx OUYI 2025 Mar 04, 2025 pm 11:45 PM

OKX OUYI est une plate-forme de trading de crypto-monnaie de premier plan. Cet article fournira des étapes détaillées pour vous guider sur la façon d'enregistrer un compte de site Web officiel d'Okx OUYI. Vous apprendrez à accéder au site officiel, à choisir la méthode d'enregistrement, à remplir les informations nécessaires et à terminer le processus d'enregistrement. L'article contient également des informations sur les précautions, telles que l'importance d'utiliser des informations personnelles réelles et de définir un mot de passe fort.

Sesame Open Door Exchange Page Web Login Dernière version GATEIO Entrée du site officiel Sesame Open Door Exchange Page Web Login Dernière version GATEIO Entrée du site officiel Mar 04, 2025 pm 11:48 PM

Une introduction détaillée à l'opération de connexion de la version Web Sesame Open Exchange, y compris les étapes de connexion et le processus de récupération de mot de passe.

Application Gateio Exchange Ancienne version GATEIO Exchange App Old Version Télécharger la chaîne de téléchargement Application Gateio Exchange Ancienne version GATEIO Exchange App Old Version Télécharger la chaîne de téléchargement Mar 04, 2025 pm 11:36 PM

Les canaux de téléchargement de l'application GATEIO Exchange pour les anciennes versions, couvrant les marchés d'applications officiels, tiers, les communautés de forum et d'autres canaux.

Comment s'inscrire et télécharger la dernière application sur le site officiel de Bitget Comment s'inscrire et télécharger la dernière application sur le site officiel de Bitget Mar 05, 2025 am 07:54 AM

Ce guide fournit des étapes de téléchargement et d'installation détaillées pour l'application officielle Bitget Exchange, adaptée aux systèmes Android et iOS. Le guide intègre les informations de plusieurs sources faisant autorité, y compris le site officiel, l'App Store et Google Play, et met l'accent sur les considérations pendant le téléchargement et la gestion des comptes. Les utilisateurs peuvent télécharger l'application à partir des chaînes officielles, y compris l'App Store, le téléchargement officiel du site Web APK et le saut de site Web officiel, ainsi que des paramètres d'enregistrement, de vérification d'identité et de sécurité. De plus, le guide couvre les questions et considérations fréquemment posées, telles que

Sesame Open Door Login Enregistrement Entrée Gate.IO Enregistrement d'échange Entrée du site Web officiel Sesame Open Door Login Enregistrement Entrée Gate.IO Enregistrement d'échange Entrée du site Web officiel Mar 04, 2025 pm 04:51 PM

Gate.io (Sesame Open Door) est la principale plate-forme de trading de crypto-monnaie au monde. Le tutoriel couvre des étapes telles que l'enregistrement et la connexion du compte, la certification KYC, la monnaie fiduciaire et la recharge de la monnaie numérique, la sélection des paires de trading, les commandes de transaction limite / commerciale et les commandes et les enregistrements de transaction, vous aidant à démarrer rapidement sur la plate-forme Gate.io pour le trading des crypto-monnaies. Qu'il s'agisse d'un débutant ou d'un vétéran, vous pouvez bénéficier de ce tutoriel et maîtriser facilement les compétences de trading Gate.io.

GATE.IO Version Web de connexion officielle Sesame Open Door Trading Platform Version Web Version Web Version Web GATE.IO Version Web de connexion officielle Sesame Open Door Trading Platform Version Web Version Web Version Web Mar 04, 2025 pm 04:33 PM

La méthode de connexion de la plate-forme de trading de portes ouvertes Sesame est pratique. La plate-forme peut permettre des mécanismes de vérification de sécurité tels que 2FA pour garantir la sécurité du compte.

Quelles sont les routines des contrats de monnaie numérique? Comment jouer un contrat de monnaie numérique? Quelles sont les routines des contrats de monnaie numérique? Comment jouer un contrat de monnaie numérique? Mar 03, 2025 pm 07:06 PM

Trading de contrats de monnaie numérique: stratégies d'investissement qui coexistent avec des rendements élevés et des risques potentiels. Le trading contractuel utilise généralement un effet de levier, avec des rendements potentiels plus élevés que le trading au comptant, mais également accompagné de risques plus élevés. Cet article révèlera les pièges communs dans le trading de contrats de monnaie numérique et fournira des étapes détaillées pour le trading de contrats sur OUYI OKX Exchange. Risques et pièges du trading de contrats de monnaie numérique Il existe de nombreux risques cachés sur le marché des contrats de monnaie numérique, et les criminels ou les plateformes peuvent utiliser des lacunes de règles pour réaliser des bénéfices. Les pièges communs comprennent: la manipulation des prix: manipuler les prix du marché grâce à la négociation centralisée, à augmenter ou à réduire artificiellement les prix pour réaliser des bénéfices. Asymétrie d'information: plate-forme ou transaction

See all articles