regex validant chaine de caractères pouvant être nulle - HTML/CSS - Programmation
Marsh Posté le 22-09-2008 à 18:20:30
Le plus simple : commencer par regarder si le contenu est plein ou vide et, s'il y a du texte, appliquer la regexp pour vérifier que le contenu est valide.
Marsh Posté le 22-09-2008 à 18:33:00
c'est malheureusement impossible car j'utilise un outil qui à un stupide fonctionnement permettant d'appliquer des syntaxes (regex) sur des champs sans possibilité de tester s'ils sont vides ou pas :-(
Marsh Posté le 22-09-2008 à 20:07:32
lmAllia a écrit : c'est malheureusement impossible car j'utilise un outil qui à un stupide fonctionnement permettant d'appliquer des syntaxes (regex) sur des champs sans possibilité de tester s'ils sont vides ou pas :-( |
encore un magnifique outil de merde
Marsh Posté le 22-09-2008 à 20:29:56
gatsu35 a écrit : |
Pour l'éditeur c'est moi qui suis une burne de ne pas savoir intégrer le null au niveau de ma regex :-(
Marsh Posté le 22-09-2008 à 20:33:17
lmAllia a écrit : Pour l'éditeur c'est moi qui suis une burne de ne pas savoir intégrer le null au niveau de ma regex :-( |
parce que ca s'integre pas forcément, si un objet faut null, il faut null
ca te sort une erreur JS ?
Marsh Posté le 22-09-2008 à 23:09:09
gatsu35 a écrit : |
je précise: dans l'outil utilisé qui permet de concevoir des appli web, on peut associer des syntaxes définies par des expressions régulières sur des champs de saisie de formulaire.
le pb est que si je colle une syntaxe sur des champs "tel", "mail", "ip" ... le moteur rend le contrôle de cette syntaxe obligatoire. Donc si le champs de mon formulaire était facultatif et que je n'alimente pas le champ "téléphone", je vais me choper une jolie alerte javascript me disant que mon numéro n'est pas conforme. (alors que si j'avais la main sur le javascript de contrôle je n'aurais fait une validation de la regex que si une valeur était saisie.)
Marsh Posté le 23-09-2008 à 04:15:42
bon j'ai trouvé ce que tu peux lui mettre comme regexp
l'idée c'est de retourner true, meme si le champ est vide
et donc au niveau JS la methode est de faire un OR dans la regexp.
prenons un exemple.
tu dois valider un numéro de 10 chiffres. Si on écrit littéralement ta regexp ça donne :
Code :
|
mais pour gérer 2 regexp (ou validations dans notre cas) dans une seule regexp il suffit de mettre les morceaux entre paranthèses et les séparer par un |, sans oublier les caractères de délimitation de début et de fin d'une regexp:
ex : 8 lettres OU 10 chiffres
/^([a-z]{8}|\d{10}$/
en gros si on vire la validation des lettres on obtiens ceci :
/^(|\d{10}$/
et ça marche :
Code :
|
Marsh Posté le 23-09-2008 à 08:31:02
gatsu35 a écrit : bon j'ai trouvé ce que tu peux lui mettre comme regexp
|
Marsh Posté le 22-09-2008 à 18:17:09
Bonjour,
j'utilise la regex suivante pour valider un numéro de tél
^(\+){0,1}[0-9/ \-\.]{8,25}$
mon pb est que ma regex s'applique automatiquement à toutes mes saisies et que les input peuvent être vides (dans ce cas la regex actuelle ne valide pas - cette valide serait nickel si les champs étaient obligatoire alors que certains sont facultatifs)
donc, comment puis-je faire pour valider tout contenu non vide mais aussi les absences de saisie
merci