8791 sujets

Développement web côté serveur, CMS

Bonjour,

Voilà mon problème, j'utilise un preg_match() pour tester si un champ récupérer ne contient que des chiffres.

J'ai donc ceci qui marche :
$chiffres = "/[0-9]/";

if (!preg_match($chiffres, $age)) 
{
	$inscription_valid = false;
	$inscription_message .= "L'&acirc;ge doit etre uniquement composé de chiffres<br />";
} 
else
{
	$inscription_message .= "L'age comporte que des chiffres, bien !";
}


Mais j'aimerai aussi faire un preg_match() sur une chaine de caractère pour vérifier que celle-ci ne contienne que des lettres majuscules ou minuscules, tout en acceptant les accents (é, è, à, ù, ... ainsi que les accents sur des majuscules).

Quelqu'un saurait il me dire quoi mettre dans mon $regex (qui est dans l'exemple plus haut $chiffres) ?

Merci d'avance Smiley smile
a écrit :
Un caractère de "mot" sera une lettre, un chiffre ou le caractère souligné, c'est-à-dire un caractère qui pourra être une partie d'un mot Perl. La définition des lettres et chiffres est définie par les tables de caractères de PCRE, et peut varier suivant la table locale de caractères. Par exemple, dans la configuration "français" ("fr"), certains caractères ont des codes supérieurs à 128, pour les caractères accentués, et ils seront compris par le méta-caractère \w.


citation de fr3.php.net

ceci me laisserait penser qu'avec "/^(\w)*$/"; on en serait pas loin non? bon il y a quelques caracteres en plus comme le _ visiblement.

sinon il faut citer tous les caractéres accentuées manuellement. y en a pas tant que ça .

ai je tout là? ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ
a verifier mais ça en fait déjà quelque-uns

et ne pas oublié de mettre une * ou un + si tu veux authoriser les mots de plus d'une lettre ou un chiffre. et les ^$ servent a dire qu'on va du début à la fin.

maintenant je suis pas un pro de l'expression réguliere y a peut-etre mieux mais je dirais donc

/^[ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿa-zA-Z0-9]+$/
Modifié par CPascal (29 Jan 2008 - 22:32)
CPascal tu est génial ça marche, et j'ai corriger mon expression pour vérifier l'entrée de nombres, ça marche bien mieux Smiley smile

Seulement comment faire pour autoriser aussi les apostrophes et espaces? Smiley confused
ben pour l'espace rajouter un ..... espace.

tu peux mettre aussi \s qui correspond a tous caractére blanc ( l'espace mais aussi la tabulation et des trucs comme ça)

pour les ' et " aussi tel quel je crois.

ça me fait tous drôle ( pour un developpeur web c'est incredible ) mais je crois qu'il s'agit pour le coup de caractère normaux qui ne nécesitent pas d'être anti-slashé (\).

enfin tous ça et la citation de tout a l'heure sont tiré de
http://fr3.php.net/manual/fr/reference.pcre.pattern.syntax.php

assez complet et en français. a devorer donc.