3 votes

expression régulière avec jquery et caractères accentués

Je cherche une expression régulière pour valider une entrée : en France, nous pouvons utiliser des caractères accentués dans le nom, et je ne trouve rien que je puisse utiliser. S'il vous plaît, pouvez-vous m'aider à trouver comment faire une expression régulière pour : -toute lettre -toute lettre accentuée -espaces - et le signe "-" (sans guillemets)

J'ai essayé quelque chose comme ça mais ça ne semble pas fonctionner var regealpha =/[^A-Za-z0-9ÀÁÂÃÄÅàáâãäåÒÓÔÕØòóôõöøÈÊËèéêëÇçÌÍÎìíîïÙÛÜùúüÿÑñ]/ ;

merci pour votre aide (et désolé pour mon mauvais anglais... je suis une grenouille ^^ )

5voto

James Wiseman Points 18347

JavaScript ne semble pas disposer de bonnes options d'internationalisation. Le symbole \w vous donnera tous les caractères [A-Za-z0-9_], mais vous devrez préciser vos propres caractères en plus de ceux-ci.

Vous semblez être assez proches. La regex suivante devrait fonctionner pour vous :

/[\wÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/g

Vous pouvez le voir fonctionner sur ce jsfiddle :

http://jsfiddle.net/jameswiseman/3H2mJ/1/

Vous verrez que la regex remplace tout dans la chaîne d'entrée "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ" avec "z".

EDIT

Je pense que c'est ce dont vous avez besoin :

/[^a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/

Il vous dira s'il y a des caractères qui ne figurent PAS dans le jeu ci-dessus. Donc

var myRegex = /[^a-zA-ZÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]/;
"C3P0".test(myRegex ); //returns true --> Report Error!
"kangun".test(myRegex ); //returns false --> OK :-)
"kàngun".test(myRegex ); //returns false --> OK :-)

Jetez également un coup d'œil à ce JSFiddle

Je sais que c'est long, mais si c'est ce qui est nécessaire, alors vous devriez l'utiliser.

1voto

levu Points 1774

Vous voulez peut-être utiliser \p{L} ( comme décrit ici ), qui correspond à une lettre unicode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X