Bonjour,
Dans une classe, je veux écrire une expression régulière qui accepte les formes suivantes:
Mais pas celle-ci:var_dump($chk->ctlFirstname("Michel")); var_dump($chk->ctlFirstname("J.-M.")); var_dump($chk->ctlFirstname("J. Michel")); var_dump($chk->ctlFirstname("J.-Michel")); var_dump($chk->ctlFirstname("JM"));
J'ai le code suivant qui est trop permissif puisqu'il accepte le dernier exemple avec les deux points consécutifs : "#^[A-ZÀÁÂÆÇÈÉÊËÌÍÎÏÑÒÓÔÙÚÛÜÝ]([a-zàáâæäßçéèêëìíîïñòóôöùúûüýÿ])?([\. -][A-ZÀÁÂÆÇÈÉÊËÌÍÎÏÑÒÓÔÙÚÛÜÝ][a-zA-Zàáâæäßçéèêëìíîïñòóôöùúûüýÿ\.])?#%s".var_dump($chk->ctlFirstname("J..-M."));
Le %s final sert à ajouter un i avec sprintf() pour l'insensibilité à la casse.







Répondre avec citation


Partager