Maison interface Web js tutoriel Comment utiliser JavaScript et les expressions régulières pour la validation des données

Comment utiliser JavaScript et les expressions régulières pour la validation des données

Jan 14, 2017 am 09:55 AM

La validation des données est une étape importante pour que les applications Web acceptent les données des clients. Après tout, vous devez vous assurer que les données client sont conformes au format attendu avant de les utiliser. Dans les applications Web, vous pouvez choisir d'utiliser des outils spécifiques à la plate-forme tels que ASP.NET, JSP, etc., ou vous pouvez profiter du JavaScript côté client. Les expressions régulières en JavaScript peuvent simplifier le travail de validation des données.

Expression régulière
L'expression régulière est un outil de correspondance de modèles qui vous permet d'exprimer des modèles dans le texte, faisant des expressions régulières un outil puissant pour valider les données textuelles. En plus de la correspondance de modèles, les expressions régulières peuvent également être utilisées pour remplacer du texte. Depuis que j'ai rencontré pour la première fois des expressions régulières lors de l'utilisation de Perl sur un système UNIX, la prise en charge des expressions régulières n'a cessé de se développer.
Remarque : si vous côtoyez de nombreux autres développeurs, les expressions régulières peuvent être appelées RegEx ou RegExp. Bien que les expressions régulières soient puissantes, leur syntaxe est un peu « mystérieuse » et prend un certain temps à maîtriser. Jetons un coup d'œil à quelques connaissances de base sur l'utilisation des expressions régulières.

Syntaxe de base
L'application de la syntaxe des expressions régulières peut être très complexe, et il faudrait même un livre entier pour expliquer ce sujet, mais je vais vous expliquer certaines des connaissances de base pour vous aider à avoir une idée préliminaire compréhension des expressions régulières.
Un concept de base est l'ancre, qui permet de spécifier les points de début et de fin d'une chaîne. Le caret (^) est utilisé pour spécifier le point de départ de la chaîne et le signe dollar ($) indique le point de fin. . Si vous devez inclure un signe caret ou dollar dans la chaîne de requête, vous pouvez utiliser une séquence d'échappement () qui est prioritaire sur le signe caret ou dollar. L'exemple suivant correspondra au mot recherché chaque fois qu'il apparaît dans une chaîne.

^search$
De plus, vous pouvez également rechercher un groupe de caractères, il suffit de les mettre entre crochets, comme [ et ], les caractères correspondants doivent appartenir à ce groupe de caractères, un exemple consiste à trouver les nombres correspondants de 1 à 5 dans la plage de [12345]. Cette expression régulière peut également être écrite sous la forme [1-5].
Souvent, vous devrez peut-être spécifier un caractère qui peut apparaître plusieurs fois, ou un caractère facultatif. Le point d'interrogation (?) signifie que le caractère est facultatif et le signe plus ( ) signifie que le caractère peut apparaître une ou plusieurs fois. plus de fois, l'astérisque (*) signifie que le personnage ne peut pas apparaître ou apparaître plusieurs fois.
Voyons maintenant comment appliquer ces expressions régulières simples à JavaScript.

Prise en charge de JavaScript
JavaScript a ajouté la prise en charge des expressions régulières dans la version 1.2, la prise en charge des navigateurs à partir d'Internet Explorer 4 et Netscape 4, toutes les versions de Firefox et la plupart des navigateurs modernes Inclut la prise en charge de JavaScript. Les expressions régulières peuvent être utilisées via des chaînes JavaScript et RegExp.

Utilisation de chaînes
Chaque chaîne JavaScript peut prendre en charge les expressions régulières via trois méthodes, ces trois méthodes sont match(), replace() et search(), et le test de l'objet La méthode () permet également à vous de faire des tests. Voici des informations sur les méthodes match(), replace() et search() :
match() : utilisé pour la correspondance d'expressions régulières. Si plusieurs correspondances se produisent, un tableau contenant tous les résultats correspondants est renvoyé. une copie contenant des données correspondantes ; s'il n'y a pas de valeur correspondante, une valeur nulle est renvoyée.

replace() : utilisé pour la correspondance d'expression régulière et le remplacement de toutes les valeurs correspondantes​​par de nouvelles sous-chaînes. Le premier paramètre de cette méthode est l'expression régulière et le deuxième paramètre est utilisé pour le remplacement.

search() : utilisé pour rechercher une valeur correspondante entre une expression régulière et une chaîne spécifiée. Si une valeur correspondante se produit, la valeur d'index de la chaîne est renvoyée. S'il n'y a pas de valeur correspondante, -1. est retourné.

JavaScript fournit également l'objet RegExp pour créer et utiliser des expressions régulières.

RegExp
L'objet RegExp contient un modèle d'expression régulière. Les méthodes et propriétés de cet objet peuvent être utilisées pour faire correspondre des chaînes. Il existe deux manières de créer une instance d'un objet RegExp : en utilisant le constructeur ou. En utilisant le mode littéral du mode texte d'expression régulière, le deuxième paramètre est facultatif et peut spécifier si la recherche est globale (g), insensible à la casse (i) ou les deux insensibles à la casse (gi). L'exemple suivant utilise le constructeur pour créer un objet RegExp. Dans cet exemple, la casse de l'objet recherché est ignorée :

testRegExp = new RegExp("^search$","I")
Copier après la connexion

Vous pouvez créer la même instance en utilisant la méthode littérale (en italique La partie en la barre), comme indiqué ci-dessous :

testRegExp = /^search$/i
Copier après la connexion

L'objet RegExp contient un grand nombre de méthodes, mais nous n'en présentons qu'une seule, test. Cette méthode effectuera une correspondance d'expression régulière sur la chaîne spécifiée, renvoyant vrai en cas de succès et faux en cas d'échec. Cette méthode peut être appliquée aux chaînes littérales ou aux variables de chaîne. Fondamentalement, elle vous permet de régulariser une correspondance d'expression, l'exemple suivant. montre comment utiliser cette méthode :

testRegExp = /search/i; 
if (testRegExp.test("this is a search string") { 
document.write("The string was found."); 
} else { 
document.write("No match found."); 
} 
We can place it in a Web page to test: 
<html><head> 
<title>RegExp test</title> 
</head><body> 
<script language="javascript"> 
testRegExp = /search/i; 
if (testRegExp.test("this is a search string")) { 
alert("The string was found."); 
} else { 
alert("No match found."); 
} 
</script></body></html>
Copier après la connexion

实际操作
现在是讲解更加完整的例子的时候了,在列表A中的网页包含了JavaScript方法来验证文本框中输入的值,这段JavaScript代码将搜索包含我的姓氏和我的两个名字的字符串(忽略大小写),如果找到了我的名字,则通过字符串对象的替换方法(search)将其替换为一个短名字。第二个文本框是用于接受时间值的,一个正则表达式在此对输入的时间进行合法性验证(数字是通过冒号分割的)。这个简单的例子说明了如何在您的客户端代码中加入正则表达式来进行匹配和替换:

<html><head> 
<title>RegExp validation</title> 
<script language="JavaScript"> 
function validate() { 
var doc = document.test; 
varvalName = new RegExp("^(Tony|Anthony) Patton", "i"); 
if (doc.Name.value.match(valName) == null) { 
alert("Name was not found."); 
} else { 
doc.Name.value = doc.Name.value.replace(valName, "T. Patton"); 
} 
varvalTime = new RegExp("^([0-1][0-9]|[2][0-3]):([0-5][0-9])$"); 
if (doc.time.value.match(valTime) == null) { 
alert("Please enter correct time format (hh:ss)"); 
} } 
</script></head> 
<body><form name="test"> 
Name: <input type="text" name="Name" value=""><br> 
Time: <input type="text" name="time" value=""><br> 
<input type="button" name="test" value="test" onClick="validate();"> 
</form></body></html>
Copier après la connexion

强大而复杂 
正则表达式的功能确实很强大,但是使用起来也并不简单,因此,应当循序渐进地学习,当然,它确实值得您花上一些时间来学习如何正确使用。正则表达式为JavaScript (以及其他的语言)操作文本,通用软件进行表单验证提供了一个简单而优雅的方法。

更多如何使用JavaScript和正则表达式进行数据验证相关文章请关注PHP中文网!

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.

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)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

TypeScript pour les débutants, partie 2: Types de données de base TypeScript pour les débutants, partie 2: Types de données de base Mar 19, 2025 am 09:10 AM

Une fois que vous avez maîtrisé le didacticiel TypeScript de niveau d'entrée, vous devriez être en mesure d'écrire votre propre code dans un IDE qui prend en charge TypeScript et de le compiler en JavaScript. Ce tutoriel plongera dans divers types de données dans TypeScript. JavaScript a sept types de données: null, non défini, booléen, numéro, chaîne, symbole (introduit par ES6) et objet. TypeScript définit plus de types sur cette base, et ce tutoriel les couvrira tous en détail. Type de données nuls Comme javascript, null en typeScript

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

PowerPoint peut-il exécuter JavaScript? PowerPoint peut-il exécuter JavaScript? Apr 01, 2025 pm 05:17 PM

JavaScript peut être exécuté dans PowerPoint et peut être implémenté en appelant des fichiers JavaScript externes ou en intégrant des fichiers HTML via VBA. 1. Pour utiliser VBA pour appeler les fichiers JavaScript, vous devez activer les macros et avoir des connaissances en programmation VBA. 2. ENCHED des fichiers HTML contenant JavaScript, qui sont simples et faciles à utiliser mais sont soumis à des restrictions de sécurité. Les avantages incluent les fonctions étendues et la flexibilité, tandis que les inconvénients impliquent la sécurité, la compatibilité et la complexité. En pratique, l'attention doit être accordée à la sécurité, à la compatibilité, aux performances et à l'expérience utilisateur.

See all articles