Fonction sur les chaines de caractères

Fermé
Mickael86480 Messages postés 638 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 - 13 févr. 2012 à 21:25
Mickael86480 Messages postés 638 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 - 14 févr. 2012 à 15:28
Bonjour, je cherche une fonction qui est capable de me dire si la chaine de caractère rentrée par l'utilisateur, via une zone de saisie de texte, ne contient pas de caractères spéciaux tels que "#" ou "<" mais que des lettres ou chiffres.

exemples de chaines acceptée : aaaaa, 12345, aaa11, ...

merci de votre aide.

A voir également:

3 réponses

Salut,
avec les expressions régulières.
En php c'est ereg(); en javascript je ne sait plus(mais ça semble plus coller à votre demande, tout dépends de ce que vous faites de la variable). Je n'ai pas en tête non plus la syntaxe mais ça se trouve facile avec une recherche "expression régulière+ nom du langage" et j'avoue qu'à part pour les vérifications d'email et quelques truc dans ce style j'essaie de m'en passer.
0
Mickael86480 Messages postés 638 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 35
14 févr. 2012 à 01:03
Ok merci, si je comprends bien la fonction, le premier paramètre à fournir est le caractère que l'on cherche, or pour moi il y en a plusieurs, je dois faire autant d'appel de fonction que j'ai de caractères spéciaux?
0
Mickael86480 Messages postés 638 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 35
14 févr. 2012 à 02:09
Après recherche voici ce que j'ai fais :

$identificateur = ereg("(#)-(&)-(²)-(~)-(')-({)-()-([)-(-)-(|)-(')-(_)-(\)-(^)-(@)-(])-(=)-(+)-(})-(¨)-(£)-(¤)-(%)-(ù)-(*)-(µ)-(,)-(?)-(;)-(.)-(:)-(/)-(!)-(§)", $_POST['id']);
$motdepasse = ereg("(#)-(&)-(²)-(~)-(')-({)-()-([)-(-)-(|)-(')-(_)-(\)-(^)-(@)-(])-(=)-(+)-(})-(¨)-(£)-(¤)-(%)-(ù)-(*)-(µ)-(,)-(?)-(;)-(.)-(:)-(/)-(!)-(§)", $_POST['mdp']);
$mot_secret = ereg("(#)-(&)-(²)-(~)-(')-({)-()-([)-(-)-(|)-(')-(_)-(\)-(^)-(@)-(])-(=)-(+)-(})-(¨)-(£)-(¤)-(%)-(ù)-(*)-(µ)-(,)-(?)-(;)-(.)-(:)-(/)-(!)-(§)", $_POST['mot']);


je ne sais pas si c'est très joli donc dites-moi ce que vous en pensé.

De plus, j'ai un avertissement, le voici :

Warning: ereg() [function.ereg]: REG_ERANGE in /mnt/104/sdb/b/4/mickael.bernaudeau/identification.php on line 30

merci de votre aide
0
Mickael86480 Messages postés 638 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 11 mars 2021 35
14 févr. 2012 à 15:28
J'ai trouvé une meilleure expression, mais qui ne filtre que si l'utilisateur ne rentre que des caractères non autorisés et non un mélange d'autorisé et non autorisé.

Je m'explique, voici des exemple autorisés :

aaaaa, AAAAAA, 12345 et AA123 et rien d'autre.

les non autorisés :

#####, \\\\\\\, ||||||, etc....

or actuellement, il est autorisé :

#aaaaa

comme le caractère # ne doit pas être accepté donc #aaaa doit être refusé.

voici l'expression régulière que j'ai :

$motdepasse = ereg("([a-z])|([A-Z])|([0-9])", $_POST['mdp']);


merci de votre aide.
0