Bonjour à tous.
Je cherche une expression Regex pour vérifier si une phrase saisie dans un formulaire ne contient que des lettres majuscule (accentuées ou pas, y compris les digrammes comme Œ), le trait d’union (-), l’apostrophe droit ('), et l’apostrophe courbe (’).
^[A-Z '’-]{1,}$ ne fonctionne pas.

Exemple :
Doit être accepté : LA SŒUR DE L’ÉLÉPHANT-MÈRE
Doit être refusé (chiffres) : ÉLÉPHANT63
Doit être refusé (esperluette et parenthèses) : ÉLÉPHANT (& COMPAGNIE)
Doit être refusé (minuscule) : La sœur de l’éléphant-mère

Comment faire ?
Merci pour votre aide.
Modifié par Pyanepsion (27 Nov 2017 - 10:54)
salut,
la liste est généralement très longue et est fonction des langues que tu prends en considération.
Il existe des outils en ligne qui te facilitent la vie pour ce genre de chose. En voici un sympa.

Tu vois par exemple que pour les lettres capitales, il te génère un joli :

[A-ZÀ-ÖØ-Þ????????????????????????????????????????Œ??????Š???????????Ÿ-??Ž?-???-??-??-??-??-??-??-????-????-??-???-?????????????????????????-???????????????????????????????-??-???-??????????-???-??-??-???-????????????????-??-??????????????????????????????????????????????-??????????????????????????????????????????????????-??-??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-??-??-??-??-??????-??-??-??-??-??-????-??-???-?????-??-??-????-???-?????-????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-???????-?]|\ud801[\udc00-\udc27]|\ud835[\udc00-\udc19\udc34-\udc4d\udc68-\udc81\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb5\udcd0-\udce9\udd04-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd38-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd6c-\udd85\udda0-\uddb9\uddd4-\udded\ude08-\ude21\ude3c-\ude55\ude70-\ude89\udea8-\udec0\udee2-\udefa\udf1c-\udf34\udf56-\udf6e\udf90-\udfa8\udfca]


EDIT: pas possible apparemment d'afficher ces caractères
Modifié par Zelalsan (27 Nov 2017 - 15:45)
Meilleure solution