Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2427 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  [Perl]Valider le format d'une chaine de caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Perl]Valider le format d'une chaine de caractères

n°485973
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:32:28  profilanswer
 

J'ai une chaine et je dois valider qu'elle a un format alpha-numérique(a-z,A-Z,0-9), de 1 à 8 caractères
 
j'ai un vieux truc sous les yeux qui permet de valider le format d'une date
 
/^\d{4}\-\d{2}\-\d{2}$/
 
alors jme dis que ca doit être dans la meme ligne, sauf faut remplacer le d par l'équivalent d'alphanumérique, et voir si jpeux vérifier la longueur du tout en meme temps

mood
Publicité
Posté le 13-08-2003 à 14:32:28  profilanswer
 

n°485977
anapajari
s/travail/glanding on hfr/gs;
Posté le 13-08-2003 à 14:40:36  profilanswer
 

tiens ça doit marcher ça:

Code :
  1. /(\w{1,8})(\W|$)/

n°485980
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:41:19  profilanswer
 

Anapajari a écrit :

tiens ça doit marcher ça:

Code :
  1. /(\w{1,8})(\W|$)/




 
jvais tester, merci

n°485983
anapajari
s/travail/glanding on hfr/gs;
Posté le 13-08-2003 à 14:43:45  profilanswer
 

humm j'ai ptêt été un peu rapide parce que ça doit valider des chaines qui te plaisent pas si le dernier caractère n'est pas bon comme par exemple abcdefgh@.  
Remplace toute la deuxieme parenthèse juste par $ ( a condition bien sur que tu soir sur que ta chaine se termine la.

n°485984
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:45:07  profilanswer
 

hum mon truc doit pas accepter les caractères comme ceux ci
 
_
-
les accents...
 
seulement a-z, A-Z, 0-9

n°485990
Nico5779
Posté le 13-08-2003 à 14:51:03  profilanswer
 

$auteur !~ m|^(\w{1,8})$|

n°485992
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:52:13  profilanswer
 

jviens de trouver ce truc que jvais tenter
 
/^[0-9a-zA-Z]*$/
 
ensuite me restera plus qua tester la longueur

n°485993
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:53:35  profilanswer
 

Nico5779 a écrit :

$auteur !~ m|^(\w{1,8})$|


 
je test

n°485994
Nico5779
Posté le 13-08-2003 à 14:53:53  profilanswer
 

mon truc fait tout d'un coup ni accent et verifie la longueur

n°485995
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:54:35  profilanswer
 

Nico5779 a écrit :

$auteur !~ m|^(\w{1,8})$|


 
ca semble malheureusement accepter les underscore

mood
Publicité
Posté le 13-08-2003 à 14:54:35  profilanswer
 

n°485997
anapajari
s/travail/glanding on hfr/gs;
Posté le 13-08-2003 à 14:56:26  profilanswer
 

le probleme c'est que si on a la chaine:
aaaa_bbbb
Bien elle vérifie les conditions car on y trouve deux  series de lettres ( aaaa & bbbb) conforme au motif avec une longueur compris entre 1 et 8.
Je sais pas exactement pourquoi tu en as besoin mais je le ferais dans l'autre sens, je testerais qu'il n'y a que des caractères que je veux dans la chaine. Puis ensuite je vérifierais la longueur, ça donne quelque chose comme ça:

Code :
  1. if ( ($tachaine !~ /(\W|_)/) && (length($tachaine)<8) )
  2. {
  3. ... traitement ...
  4. }


 
[edit]
Nico5779 \w comprends le _ et il en veut pas.
[/edit]


Message édité par anapajari le 13-08-2003 à 14:57:48
n°485999
Nico5779
Posté le 13-08-2003 à 14:57:26  profilanswer
 

Code :
  1. !~ /^[0-9a-zA-Z]{1,8}$/

 
 
ca ca semble le faire

n°486001
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:58:31  profilanswer
 

en gros c un cgi pour la création de fileset sur notre serveur de fichier
 
malheureusement, manque de validation, et DFS(notre systeme de fichier) a pas l'air d'apprécier autre chose que les lettres et les chiffres
 
donc jdois envoyer un message d'erreur si ya quoi que ce soit d'autre

n°486002
burgergold
5$? va chez l'diable!
Posté le 13-08-2003 à 14:59:44  profilanswer
 

Nico5779 a écrit :

Code :
  1. !~ /^[0-9a-zA-Z]{1,8}$/

 
 
ca ca semble le faire


 
ouais, c ca jvais prendre
 
merci beaucoup à tous

n°486012
anapajari
s/travail/glanding on hfr/gs;
Posté le 13-08-2003 à 15:18:14  profilanswer
 

vi c'est mieux ... c'est marrant comme je me suis compliqué la vie après ... enfin comme disais l'autre "there is more than ..."


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  [Perl]Valider le format d'une chaine de caractères

 

Sujets relatifs
[Perl CGI] Problème d'affichage[C] Ajout d'un char en fin de chaine en boucle
[perl] remplacer les \n par des <br> dans un fichier ...Problème de conversion de format de date....
Time Format [Resolu]connaitre la largeur d'une chaine en java (ou plutôt jsp)
connaitre la largeur d'une chaine en javascript[Perl] Probleme de formulaire en post
Valider CSSCode perl non interprété sur apache.
Plus de sujets relatifs à : [Perl]Valider le format d'une chaine de caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR