Regex avec javascript
Résolu/Fermé
rukire
Messages postés
90
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
6 avril 2009
-
17 mars 2009 à 15:34
th@o - 23 juin 2010 à 17:55
th@o - 23 juin 2010 à 17:55
A voir également:
- Regex avec javascript
- Telecharger javascript - Télécharger - Langages
- Javascript est activé mais ne fonctionne pas ✓ - Forum Réseaux sociaux
- Regex ne contient pas ✓ - Forum Programmation
- Node.js javascript runtime virus ✓ - Forum Virus
- Javascript echo ✓ - Forum PHP
6 réponses
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
17 mars 2009 à 15:39
17 mars 2009 à 15:39
function verifSaisie(evt)
{
var keyCode = evt.which ? evt.which : evt.keyCode;
var mask = '^[0-9]{1,3}|\u0009|\u0008|\u000D$';
var reg = new RegExp(mask,"g");
if(!reg.test(String.fromCharCode(keyCode))){
return false;
}
}
et je mets onkeypress="return verifSaisie(event);" dans l'input
voici mon code, il marche, remplacé le mask par le votre. Par contre ce que je fais c'est juste que j'empêche l'insertion des éléments contenus dans le mask. Pour afficher l'alerte il faudrait le faire juste avant le "return false;"
{
var keyCode = evt.which ? evt.which : evt.keyCode;
var mask = '^[0-9]{1,3}|\u0009|\u0008|\u000D$';
var reg = new RegExp(mask,"g");
if(!reg.test(String.fromCharCode(keyCode))){
return false;
}
}
et je mets onkeypress="return verifSaisie(event);" dans l'input
voici mon code, il marche, remplacé le mask par le votre. Par contre ce que je fais c'est juste que j'empêche l'insertion des éléments contenus dans le mask. Pour afficher l'alerte il faudrait le faire juste avant le "return false;"
rukire
Messages postés
90
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
6 avril 2009
4
18 mars 2009 à 10:02
18 mars 2009 à 10:02
J'ai trouvé ! en fait j'avais déja un js qui vérifiait que le nom saisie n'existe pas déja dans un tableau donné en paramètre et donc a ca j'ai ajouté mon code et maintenant ca marche !
js :
function verif_nom (elem,tab,i)
{
// tab est une chaine de caractère séparé par des virgules
// verification que l'element saisie elem ne se trouve pas dans tab
// i indice de elem precedent
var tabnom=tab.split(",");
var newname = elem.value;
for (var j=0;j<tabnom.length;j++)
{
if(i != j)
{
if (tabnom[j] == newname)
{
alert("Le nom entré existe déjà ! Entrez en un nouveau svp");
elem.value = "";
}
}
}
var valeur = elem.value;
var reg = new RegExp("^[a-z._][_.a-z0-9]+$", "gi");
if(valeur.match(reg))
{}
else
{
alert("Vous ne devez pas entrer de caractères spéciaux !\n(début de chaine par un chiffre, pas d'espace, ni de tiret, ni d'arobase)");
elem.value = "";
}
}
input :
$nom='nom'.$i; //choix du nom (avec vérification existance)
echo '<tr><td><label for="nom"><a class="normal" href="guide.php#nom" target="_blank">Nom</a></label> : <input type="text" id="nom" name="'.$nom.'" onblur="verif_nom(this,\''.$str.'\','.$k.');" /></td></tr>';
Merci beaucoup
js :
function verif_nom (elem,tab,i)
{
// tab est une chaine de caractère séparé par des virgules
// verification que l'element saisie elem ne se trouve pas dans tab
// i indice de elem precedent
var tabnom=tab.split(",");
var newname = elem.value;
for (var j=0;j<tabnom.length;j++)
{
if(i != j)
{
if (tabnom[j] == newname)
{
alert("Le nom entré existe déjà ! Entrez en un nouveau svp");
elem.value = "";
}
}
}
var valeur = elem.value;
var reg = new RegExp("^[a-z._][_.a-z0-9]+$", "gi");
if(valeur.match(reg))
{}
else
{
alert("Vous ne devez pas entrer de caractères spéciaux !\n(début de chaine par un chiffre, pas d'espace, ni de tiret, ni d'arobase)");
elem.value = "";
}
}
input :
$nom='nom'.$i; //choix du nom (avec vérification existance)
echo '<tr><td><label for="nom"><a class="normal" href="guide.php#nom" target="_blank">Nom</a></label> : <input type="text" id="nom" name="'.$nom.'" onblur="verif_nom(this,\''.$str.'\','.$k.');" /></td></tr>';
Merci beaucoup
rukire
Messages postés
90
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
6 avril 2009
4
17 mars 2009 à 15:55
17 mars 2009 à 15:55
merci mais je ne comprend pas tout à ce qui est fait, et ca n'a pas l'air de marcher (ma méthode doit marcher mais je n'arrive pas a trouver la bonne regex ^^)
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
17 mars 2009 à 16:05
17 mars 2009 à 16:05
Utilisez ceci pour tester, j'essaie de trouver la bonne regexp en attendant : http://www.annuaire-info.com/outil-referencement/expression-reguliere/
rukire
Messages postés
90
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
6 avril 2009
4
17 mars 2009 à 16:17
17 mars 2009 à 16:17
avec ce que tu m'as donné j'ai trouvé ca : ^[a-z][_.a-z0-9]+$
mais ca marche pas très bien ! quoi que je tape ca m'affiche l'erreur :s
merci
mais ca marche pas très bien ! quoi que je tape ca m'affiche l'erreur :s
merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rukire
Messages postés
90
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
6 avril 2009
4
18 mars 2009 à 09:28
18 mars 2009 à 09:28
est ce que quelqu'un peut m'aider, avec la regex donné hier, je tape n'importe quoi (une lettre, un chiffre, etc) et ca m'affiche l'alerte, quelqu'un peu m'aider ?
Merci d'avance !
Merci d'avance !
NookZ
Messages postés
2138
Date d'inscription
jeudi 29 janvier 2009
Statut
Membre
Dernière intervention
7 mars 2013
514
18 mars 2009 à 09:35
18 mars 2009 à 09:35
Je vous conseille de télécharger le module firefox, il vous permettra de débugger car pour le moment je ne vois pas d'erreur.
Je viens de tester votre expression, elle retourne faux quel que soit le cas en utilisant le lien que je vous ai fourni, je cherche une parade
Je viens de tester votre expression, elle retourne faux quel que soit le cas en utilisant le lien que je vous ai fourni, je cherche une parade
rukire
Messages postés
90
Date d'inscription
lundi 9 mars 2009
Statut
Membre
Dernière intervention
6 avril 2009
4
18 mars 2009 à 09:44
18 mars 2009 à 09:44
ben avec le lien d'hier moi ca marchait ! donc voila je suis complètement perdu et dans une impasse
23 juin 2010 à 15:34
23 juin 2010 à 17:55