


Discutez de la façon d'utiliser JavaScript pour vérifier les informations d'inscription
Avec le développement d'Internet, l'inscription est devenue une tâche que de nombreuses personnes doivent accomplir. Il est devenu très courant de s'inscrire sur des sites Web et des applications, et ces processus d'inscription nécessitent que les utilisateurs remplissent de nombreuses informations personnelles, telles que le nom d'utilisateur, le mot de passe, l'adresse e-mail, etc. Afin de garantir la fiabilité et la sécurité de ces informations, nous devons vérifier les informations d'enregistrement. Dans le développement Web, la validation JavaScript est largement utilisée. Dans cet article, nous verrons comment utiliser JavaScript pour vérifier les informations d'enregistrement et ajouter quelques fonctionnalités spéciales.
De manière générale, le processus de validation du formulaire frontal est déclenché lorsqu'il gagne ou perd du focus. En utilisant JavaScript, nous pouvons afficher un message d'invite lorsque le focus est obtenu et effectuer la vérification correspondante lorsque le focus est perdu.
Tout d'abord, dans le balisage HTML, nous devons créer un formulaire qui contient l'élément form. L'élément de formulaire doit contenir un champ de saisie et un bouton de soumission. Dans cet exemple, nous utiliserons un simple formulaire d’inscription comme exemple.
<form name="registerForm" onsubmit="return validateForm()" action="/submit-form" method="POST"> <label>用户名:</label><input type="text" name="userName" required /><br /> <label>密码:</label><input type="password" name="password" required /><br /> <label>确认密码:</label><input type="password" name="rePassword" required /><br /> <label>电子邮件:</label><input type="email" name="email" required /><br /> <button type="submit">注册</button> </form>
Nous pouvons voir de nouveaux attributs dans l'élément de formulaire, tels que "obligatoire" et "onsubmit". Parmi eux, « obligatoire » signifie que la zone de saisie doit être remplie avant que le formulaire puisse être soumis, et « onsubmit » signifie la fonction JavaScript à exécuter avant de soumettre le formulaire.
Ensuite, nous devons implémenter une fonction JavaScript pour valider les données du formulaire. Dans cet exemple, nous allons implémenter une fonction appelée validateForm(). Cette fonction prendra les données saisies dans le formulaire et effectuera une validation.
function validateForm() { // Get the input data var username = document.forms["registerForm"]["userName"].value; var password = document.forms["registerForm"]["password"].value; var repassword = document.forms["registerForm"]["rePassword"].value; var email = document.forms["registerForm"]["email"].value; // Check username if (username == "") { alert("用户名不能为空!"); document.forms["registerForm"]["userName"].focus(); return false; } // Check password if (password == "") { alert("密码不能为空!"); document.forms["registerForm"]["password"].focus(); return false; } // Check confirm password if (repassword == "") { alert("确认密码不能为空!"); document.forms["registerForm"]["rePassword"].focus(); return false; } else { if (repassword != password) { alert("两次密码不匹配!"); document.forms["registerForm"]["password"].value = ""; document.forms["registerForm"]["rePassword"].value = ""; document.forms["registerForm"]["password"].focus(); return false; } } // Check email var emailReg = /^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$/; if (email == "") { alert("电子邮件不能为空!"); document.forms["registerForm"]["email"].focus(); return false; } else if (!emailReg.test(email)) { alert("电子邮件格式不正确!"); document.forms["registerForm"]["email"].value = ""; document.forms["registerForm"]["email"].focus(); return false; } // If all the data is correct, return true return true; }
Dans cette fonction, nous utilisons quelques conditions de validation simples pour vérifier l'exactitude des données du formulaire. Par exemple, vérifiez si le nom d'utilisateur est vide, vérifiez si le mot de passe et le mot de passe de confirmation sont identiques, vérifiez si l'e-mail est au bon format, etc. Si les données saisies ne répondent pas aux exigences, un message d'avertissement apparaîtra et false sera renvoyé pour empêcher la soumission du formulaire. Renvoie vrai si toutes les données répondent aux exigences.
Ensuite, nous devons ajouter une fonction JS pour effectuer les opérations correspondantes sur la zone de saisie en gagnant et en perdant le focus.
// Add onfocus event document.getElementsByName("userName")[0].onfocus = function() { document.getElementsByName("userName")[0].nextElementSibling.innerHTML = "请输入用户名"; }; document.getElementsByName("password")[0].onfocus = function() { document.getElementsByName("password")[0].nextElementSibling.innerHTML = "请输入密码"; }; document.getElementsByName("rePassword")[0].onfocus = function() { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = "请再次输入密码"; }; document.getElementsByName("email")[0].onfocus = function() { document.getElementsByName("email")[0].nextElementSibling.innerHTML = "请输入电子邮件地址"; }; // Add onblur event document.getElementsByName("userName")[0].onblur = function() { if (document.getElementsByName("userName")[0].value == "") { document.getElementsByName("userName")[0].nextElementSibling.innerHTML = "用户名不能为空!"; } else { document.getElementsByName("userName")[0].nextElementSibling.innerHTML = ""; } }; document.getElementsByName("password")[0].onblur = function() { if (document.getElementsByName("password")[0].value == "") { document.getElementsByName("password")[0].nextElementSibling.innerHTML = "密码不能为空!"; } else { document.getElementsByName("password")[0].nextElementSibling.innerHTML = ""; } }; document.getElementsByName("rePassword")[0].onblur = function() { if (document.getElementsByName("rePassword")[0].value == "") { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = "确认密码不能为空!"; } else if (document.getElementsByName("rePassword")[0].value != document.getElementsByName("password")[0].value) { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = "两次密码不匹配!"; } else { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = ""; } }; document.getElementsByName("email")[0].onblur = function() { var email = document.getElementsByName("email")[0].value; var emailReg = /^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$/; if (email == "") { document.getElementsByName("email")[0].nextElementSibling.innerHTML = "电子邮件不能为空!"; } else if (!emailReg.test(email)) { document.getElementsByName("email")[0].nextElementSibling.innerHTML = "电子邮件格式不正确!"; } else { document.getElementsByName("email")[0].nextElementSibling.innerHTML = ""; } };
Dans ces codes, nous avons ajouté des gestionnaires d'événements pour chaque champ de saisie. Lorsque la mise au point est obtenue, un message d'invite s'affiche ; une fois la mise au point perdue, le résultat de la vérification s'affiche. Par exemple, lors de la saisie d'un nom d'utilisateur, « Veuillez saisir le nom d'utilisateur » s'affichera à côté de la zone de texte et un message d'erreur spécifique s'affichera lorsque la saisie est incorrecte.
Enfin, nous pouvons rassembler ces codes pour former un exemple complet :
<form name="registerForm" onsubmit="return validateForm()" action="/submit-form" method="POST"> <label>用户名:</label><input type="text" name="userName" required /><span></span><br /> <label>密码:</label><input type="password" name="password" required /><span></span><br /> <label>确认密码:</label><input type="password" name="rePassword" required /><span></span><br /> <label>电子邮件:</label><input type="email" name="email" required /><span></span><br /> <button type="submit">注册</button> </form> <script> // Add onfocus event document.getElementsByName("userName")[0].onfocus = function() { document.getElementsByName("userName")[0].nextElementSibling.innerHTML = "请输入用户名"; }; document.getElementsByName("password")[0].onfocus = function() { document.getElementsByName("password")[0].nextElementSibling.innerHTML = "请输入密码"; }; document.getElementsByName("rePassword")[0].onfocus = function() { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = "请再次输入密码"; }; document.getElementsByName("email")[0].onfocus = function() { document.getElementsByName("email")[0].nextElementSibling.innerHTML = "请输入电子邮件地址"; }; // Add onblur event document.getElementsByName("userName")[0].onblur = function() { if (document.getElementsByName("userName")[0].value == "") { document.getElementsByName("userName")[0].nextElementSibling.innerHTML = "用户名不能为空!"; } else { document.getElementsByName("userName")[0].nextElementSibling.innerHTML = ""; } }; document.getElementsByName("password")[0].onblur = function() { if (document.getElementsByName("password")[0].value == "") { document.getElementsByName("password")[0].nextElementSibling.innerHTML = "密码不能为空!"; } else { document.getElementsByName("password")[0].nextElementSibling.innerHTML = ""; } }; document.getElementsByName("rePassword")[0].onblur = function() { if (document.getElementsByName("rePassword")[0].value == "") { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = "确认密码不能为空!"; } else if (document.getElementsByName("rePassword")[0].value != document.getElementsByName("password")[0].value) { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = "两次密码不匹配!"; } else { document.getElementsByName("rePassword")[0].nextElementSibling.innerHTML = ""; } }; document.getElementsByName("email")[0].onblur = function() { var email = document.getElementsByName("email")[0].value; var emailReg = /^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$/; if (email == "") { document.getElementsByName("email")[0].nextElementSibling.innerHTML = "电子邮件不能为空!"; } else if (!emailReg.test(email)) { document.getElementsByName("email")[0].nextElementSibling.innerHTML = "电子邮件格式不正确!"; } else { document.getElementsByName("email")[0].nextElementSibling.innerHTML = ""; } }; function validateForm() { // Get the input data var username = document.forms["registerForm"]["userName"].value; var password = document.forms["registerForm"]["password"].value; var repassword = document.forms["registerForm"]["rePassword"].value; var email = document.forms["registerForm"]["email"].value; // Check username if (username == "") { alert("用户名不能为空!"); document.forms["registerForm"]["userName"].focus(); return false; } // Check password if (password == "") { alert("密码不能为空!"); document.forms["registerForm"]["password"].focus(); return false; } // Check confirm password if (repassword == "") { alert("确认密码不能为空!"); document.forms["registerForm"]["rePassword"].focus(); return false; } else { if (repassword != password) { alert("两次密码不匹配!"); document.forms["registerForm"]["password"].value = ""; document.forms["registerForm"]["rePassword"].value = ""; document.forms["registerForm"]["password"].focus(); return false; } } // Check email var emailReg = /^([\w-]+\.)*?[\w-]+@[\w-]+\.([\w-]+\.)*?[\w]+$/; if (email == "") { alert("电子邮件不能为空!"); document.forms["registerForm"]["email"].focus(); return false; } else if (!emailReg.test(email)) { alert("电子邮件格式不正确!"); document.forms["registerForm"]["email"].value = ""; document.forms["registerForm"]["email"].focus(); return false; } // If all the data is correct, return true return true; } </script>
Ce qui précède est le processus de vérification des informations d'enregistrement à l'aide de JavaScript. À travers cet exemple, nous pouvons voir que la vérification frontale peut grandement améliorer l’expérience utilisateur et la sécurité des données. Par conséquent, dans le développement Web, la vérification des formulaires front-end et la vérification des données back-end vont de pair pour obtenir un système de vérification complet.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

L'article traite des avantages et des inconvénients des composants contrôlés et incontrôlés dans la réaction, en se concentrant sur des aspects tels que la prévisibilité, la performance et les cas d'utilisation. Il conseille les facteurs à considérer lors du choix entre eux.

React combine JSX et HTML pour améliorer l'expérience utilisateur. 1) JSX incorpore du HTML pour rendre le développement plus intuitif. 2) Le mécanisme DOM virtuel optimise les performances et réduit les opérations DOM. 3) Interface utilisateur de gestion basée sur les composants pour améliorer la maintenabilité. 4) La gestion des états et le traitement des événements améliorent l'interactivité.

Le système de réactivité de Vue 2 lutte avec le réglage de l'index de tableau direct, la modification de la longueur et l'ajout / suppression de la propriété de l'objet. Les développeurs peuvent utiliser les méthodes de mutation de Vue et Vue.set () pour assurer la réactivité.

L'article traite de la définition des itinéraires dans le routeur React à l'aide de la & lt; Route & gt; Composant, couvrant des accessoires comme le chemin, le composant, le rendu, les enfants, le routage exact et imbriqué.
