Probleme d'expression reguliere

Probleme d'expression reguliere - HTML/CSS - Programmation

Marsh Posté le 26-05-2003 à 16:33:27    

Bonjour,
 
 j'aimerai pouvoir verifier via JavaScript la conformite d'un nom de fichier donné par l'utilisateur dans un champ input.
 
 J'aimerai que ce nom ait pour extension :
.php, .php3, .php4 et pas autre chose.
 
 J'aimerai donc utiliser les expressions regulieres sans à devoir passer par le split et vzrification, est ce possible ?
 
 Le big probleme, c'est qu'il ne faut pas que l'extension soit cree plusieurs fois, par exemple il faut interdire ce genre de chose :
monfichier.php4.lefichier.php3
 
 De plus il faut que l'occurence se fasse en fin de fichier, cad que lefichier.php4.lenom ne doit pas passer.
 
Est ce possible vac les regexp ?
 
 Je connais /$ qui permet de rechercher la premiere occurence en fin de chaine d'un caractere mais je ne sais pas comment faire pour le generaliser a une chaine de caracteres, vous pouvez m'aider SVP ?

Reply

Marsh Posté le 26-05-2003 à 16:33:27   

Reply

Marsh Posté le 26-05-2003 à 17:07:10    

a priori je dirais ça:
 
/[^(\.php|\.php3|\.php4)]+(\.php|\.php3|\.php4)/
 
mais j'ai pas testé.
 
PS: c'est pas du html :o

Reply

Marsh Posté le 26-05-2003 à 20:18:48    

gizmo a écrit :

a priori je dirais ça:
 
/[^(\.php|\.php3|\.php4)]+(\.php|\.php3|\.php4)/
 
mais j'ai pas testé.
 
PS: c'est pas du html :o


on a l'air de s'y approcher
 
Ce n'est pas du HTML mais je l'utilise en JavaScript

Reply

Marsh Posté le 26-05-2003 à 20:57:36    

ah! moi c'est la regex perl que je t'ai donné, je ne sais pas si ca se porte en JS

Reply

Marsh Posté le 26-05-2003 à 21:31:16    

"au moins une fois", pour pas avoir un fichier avec juste l'extension.
Mais je vois que ce n'est pas parfait, je pense que comme ça c'est mieux:
 
/[^ (\.php|\.php3|\.php4)]+(\.php|\.php3|\.php4)/  
 
car on évite les fichiers avec espace.
 
Par contre, il y a toujours un problèmes car un fichier "..php" sera accepté. Faut voir si tu acceptes qu'il y aie des points ou non dans ton fichier.

Reply

Marsh Posté le 26-05-2003 à 21:49:30    

"interdire les caractères/chaines suivants"

Reply

Marsh Posté le 26-05-2003 à 22:06:01    

HotShot a écrit :

Bizarre, croyais que le ^ indiquait "doit débuter par"


+1, d'ou mes erreurs a repetitions

Reply

Marsh Posté le 26-05-2003 à 22:57:51    

HotShot a écrit :

Bizarre, croyais que le ^ indiquait "doit débuter par"


oui, sauf s'il est entre crochet

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed