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 :
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 :
- >>> /^(|\d{10})$/.test('1234567890')
- true
- >>> /^(|\d{10})$/.test('123456789')
- false
- >>> /^(|\d{10})$/.test('')
- true
|