Expression régulière Acces pb syntaxe
Dédé86
Messages postés
690
Statut
Membre
-
yop -
yop -
Bonjour,
Je cherche à vérifier si un nom rentré dans un formulaire est correct (c'est à dire qu'il ne contient pas de caractères qui n'ont pas leurs places comme les caractères spéciaux, les chiffres...).
Je rencontre un problème lors de la définition de la proprété pattern qui permet de créer l'expression régulière
Comment puis-je faire pour que vérifier que mon nom contient bien des caractères alpabétiques et exclure les chiffres ?
J'avais commencé avec cela mais je n'arrive pas à compléter :
reg.Pattern = "([a-z]{1,}[^0-9]{1,})"
Pouvez-vous m'aider ???
Merci d'avance
Je cherche à vérifier si un nom rentré dans un formulaire est correct (c'est à dire qu'il ne contient pas de caractères qui n'ont pas leurs places comme les caractères spéciaux, les chiffres...).
Je rencontre un problème lors de la définition de la proprété pattern qui permet de créer l'expression régulière
Comment puis-je faire pour que vérifier que mon nom contient bien des caractères alpabétiques et exclure les chiffres ?
J'avais commencé avec cela mais je n'arrive pas à compléter :
reg.Pattern = "([a-z]{1,}[^0-9]{1,})"
Pouvez-vous m'aider ???
Merci d'avance
A voir également:
- Expression régulière Acces pb syntaxe
- Accès à internet - Guide
- Acces rapide - Guide
- Accès refusé - Guide
- Trousseau d'accès iphone - Guide
- Accès presse papier - Guide
3 réponses
La sémantique décrite est exactement ça... ;)
Entre les langages la syntaxe des ER peut varier. Mais en gros c'est à peu pres pareil (y a quelques trucs en plus ou en moins ou parfois il faut proteger certains caractère avec un anti-slash par exemple).
Je t'ai donné l'expression régulière théorique (telle qu'elle devrait être dans tout les langages). Je glisse en passant que Perl est le meilleur langage pour les ER ;)
Entre les langages la syntaxe des ER peut varier. Mais en gros c'est à peu pres pareil (y a quelques trucs en plus ou en moins ou parfois il faut proteger certains caractère avec un anti-slash par exemple).
Je t'ai donné l'expression régulière théorique (telle qu'elle devrait être dans tout les langages). Je glisse en passant que Perl est le meilleur langage pour les ER ;)
OK merci
Et comment puis-je faire pour faire en sorte d'exclure les caractères numériques dans la chaîne ? Parce que là j'ai :
[a-zA-Z]+[^0-9]+ mais ça n'exclue pas les caractères numérique dans la chaîne suivante : Nico45las
Pouvez-vous m'aider ?
Merci d'avance...
Et comment puis-je faire pour faire en sorte d'exclure les caractères numériques dans la chaîne ? Parce que là j'ai :
[a-zA-Z]+[^0-9]+ mais ça n'exclue pas les caractères numérique dans la chaîne suivante : Nico45las
Pouvez-vous m'aider ?
Merci d'avance...
il suffit de matcher en boucle uniquement [a-zA-Z] car là exclure les nombres veut dire "s'il y a des nombres, alors ça ne match pas";
boucler sur ça donnera des resultats avec uniquement des lettres. tous les autres caractères seront exclus.
Hop en cadeau un bout de code pour faire tout ça en php :
while(eregi($pattern,$string,$regs)) {
// effacement des champs reconnus
$string = eregi_replace($regs[0],"",$string);
//ensuite faut utiliser les données récupérés :
$temp=$regs[1-2-3-etc]; //ici il faudra prévoir un petit quelque chose pour récupérer les bonnes valeurs et le tour sera joué
}
boucler sur ça donnera des resultats avec uniquement des lettres. tous les autres caractères seront exclus.
Hop en cadeau un bout de code pour faire tout ça en php :
while(eregi($pattern,$string,$regs)) {
// effacement des champs reconnus
$string = eregi_replace($regs[0],"",$string);
//ensuite faut utiliser les données récupérés :
$temp=$regs[1-2-3-etc]; //ici il faudra prévoir un petit quelque chose pour récupérer les bonnes valeurs et le tour sera joué
}
Je pense que cela veut dire : n'importe quelle caractère entre a et z minuscule et A et Z majuscule qui se répète de 1 a plusieurs fois c'est bien cela ?
(petite question : la syntaxe des expressions régulières est-elle commune à tous les langages ??)
merci