Regex - javascript
Résolu
sipatsymasaka
Messages postés
107
Statut
Membre
-
sipatsymasaka Messages postés 107 Statut Membre -
sipatsymasaka Messages postés 107 Statut Membre -
Bonjour,
Je suis novice mais pourtant déjà passionnée par javascript, c'est épatant ce qu'il arrive a faire. Je l'utilisa dans mes pages jsp.
Comment vais-je faire le test pour avoir un input qui ne prend que des chiffres,lettres(accentues ou non), le ', le -,et les espaces.
Je crois que c'est un gain de partage,connaissance,et de temps de poster ici.
Merci a vous!
Je suis novice mais pourtant déjà passionnée par javascript, c'est épatant ce qu'il arrive a faire. Je l'utilisa dans mes pages jsp.
Comment vais-je faire le test pour avoir un input qui ne prend que des chiffres,lettres(accentues ou non), le ', le -,et les espaces.
Je crois que c'est un gain de partage,connaissance,et de temps de poster ici.
Merci a vous!
5 réponses
-
Si c'est un formulaire, avant l'envoi vers le serveur tu va devoir analyser tous les input. Avec les regex ca donne ca :
var myRe = /[a-zA-Z0-9'-àâéèêîôùû]+/g;
var myArray = myRe.exec(/*contenu de l'élément*/);
si la liste myArray est vide alors les données ne correspondent pas.
Si ce n'est pas un formulaire tu peux réaliser ce test à chaque changement dans tes inputs . -
Merci de ta réponse rapide,
Dans mon formulaire, je n'ai qu'un input texte a vérifier, le reste c'est des nombres et ça marche déjà, alors je veux le faire dans un onChange() de l'input.
contenu de l'élément ~ document.formulaire.nom.value par exemple?
Peux-tu m'aider a faire la petite fonction de vérification?
function verif(){
var myRe = /[a-zA-Z0-9'-àâéèêîôùû]+/g;
var myArray = myRe.exec(document.formulaire.nom.value);
return myArray;
}
est-ce comme ca? -
bref,j'ai trouver une fonction:
<html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <script type="text/javascript"> function verifier_champs(){ if(document.getElementById('new_name').value == ''){ alert('Vous devez saisir un nom.'); return false; } if( !(/^[a-z]*$/i.test(document.getElementById('new_name').value)) ){ alert('Le nom ne doit pas contenir de caractères spéciaux.'); return false; } return true; } </script> <form method="post" action="" id="addStaff" onsubmit="return verifier_champs()"> <span style="font-size: 14px;color: red;"> Must have a name</span><br> <label>Name</label><input type="text" name="new_name" id="new_name"><br> <label>Surname</label><input type="text" name="new_surname" id="new_surname"><br> <input type="submit" value="Add"> </form> </body> </html>
mais quand je remplace le regex par celle que tu m'a indiqué, ça donne une erreur, alors comment modifier cette fonction par celle que je veux?
merci -
la, je crois que je l'ai, ça peut aider(mais dit toujours si ya erreur):
<!-- To change this template, choose Tools | Templates and open the template in the editor. --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <script type="text/javascript"> function verifier_champs(){ if(document.getElementById('new_name').value == ''){ alert('Vous devez saisir un nom.'); return false; } if( !(/^([0-9A-Za-z- _\.\'\éèàêâîù])+/i.test(document.getElementById('new_name').value)) ){ alert('Le nom ne doit pas contenir de caractères spéciaux.'); return false; } return true; } </script> <form method="post" action="" id="addStaff" onsubmit="return verifier_champs()"> <span style="font-size: 14px;color: red;"> Must have a name</span><br> <label>Name</label><input type="text" name="new_name" id="new_name"><br> <label>Surname</label><input type="text" name="new_surname" id="new_surname"><br> <input type="submit" value="Add"> </form> </body> </html> -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
j'ai trouver un erreur,il nous faut une boucle:
<!-- To change this template, choose Tools | Templates and open the template in the editor. --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <script type="text/javascript"> function verifier_champs(){ if(document.getElementById('new_name').value == ''){ alert('Vous devez saisir un nom.'); return false; } var chkZ = 1; for(i=0;i<document.getElementById('new_name').value.length;++i){ if(!(/^([0-9A-Za-z- _\.\'\éèàêâîù])+/i.test(document.getElementById('new_name').value.charAt(i)))) chkZ = -1; } if(chkZ == -1){ alert('Evitez les caracteres speciaux.'); return false; } return true; } </script> <form method="post" action="" id="addStaff" onsubmit="return verifier_champs()"> <span style="font-size: 14px;color: red;"> Must have a name</span><br> <label>Name</label><input type="text" name="new_name" id="new_name"><br> <label>Surname</label><input type="text" name="new_surname" id="new_surname"><br> <input type="submit" value="Add"> </form> </body> </html>