PHP TESTER Premier caractère = lettre
Fermé
Niu
-
5 avril 2009 à 02:56
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 10 juin 2011 à 18:01
okuni Messages postés 1221 Date d'inscription jeudi 4 septembre 2008 Statut Membre Dernière intervention 2 janvier 2014 - 10 juin 2011 à 18:01
A voir également:
- Php premier caractère d'une chaine
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Caractere speciaux mac - Guide
6 réponses
bonsoir,
tu peux essayer ça mais ça ne prend pas en compte les accents...
tu peux essayer ça mais ça ne prend pas en compte les accents...
<?php if (preg_match('^#[a-z]#',strtolower($variable))){ //si ça commence par une lettre } else { //si ca commence par autre chose } ?>
ta regex n'est pas bonne
modifie la comme ca : preg_match('#^[0-9]#',$variable)
j'avais fais une faute de frappe dans la première, ^ ce met après #
désolé
modifie la comme ca : preg_match('#^[0-9]#',$variable)
j'avais fais une faute de frappe dans la première, ^ ce met après #
désolé
Donahu
Messages postés
8
Date d'inscription
jeudi 17 juin 2010
Statut
Membre
Dernière intervention
7 octobre 2011
35
Modifié par Donahu le 26/10/2010 à 09:15
Modifié par Donahu le 26/10/2010 à 09:15
if (preg_match("#^[0-9]{1}$#i", $nom)) {}
else {}
Le ^ en dehors d'une classe [] signifie "qui débute par".
Le $ en dehors d'une classe [] signifie "qui finit par".
L'accolade a droite de la classe donne la fréquence d'apparition (ici 1 et rien d'autre).
Le i en dehors de la Regex signifie "insensible à la casse".
else {}
Le ^ en dehors d'une classe [] signifie "qui débute par".
Le $ en dehors d'une classe [] signifie "qui finit par".
L'accolade a droite de la classe donne la fréquence d'apparition (ici 1 et rien d'autre).
Le i en dehors de la Regex signifie "insensible à la casse".
D'ici à ce que quelqu'un retombe sur ce sujet depuis Google, comme moi.. :
if($nom != '' && preg_match('#^[0-9]#', $nom)){
// Ici $nom n'est pas vide et commence par un chiffre
}else{
// Ici soit $nom est vide, soit il ne commence pas par un chiffre
}
La flemme de compter et d'expliquer toutes les erreurs de la syntaxe proposé par Niu...
if($nom != '' && preg_match('#^[0-9]#', $nom)){
// Ici $nom n'est pas vide et commence par un chiffre
}else{
// Ici soit $nom est vide, soit il ne commence pas par un chiffre
}
La flemme de compter et d'expliquer toutes les erreurs de la syntaxe proposé par Niu...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dream666
Messages postés
735
Date d'inscription
mardi 8 juillet 2008
Statut
Membre
Dernière intervention
24 février 2014
104
10 juin 2011 à 16:42
10 juin 2011 à 16:42
ne connaisant pas les expression regulière j'ai fait comme ça:
$var = "1 test";
if (is_numeric($var[0]))
{
echo "<b style='color:#0f0;';>c'est un nombre</b>";
}else
{
echo "<b style='color:#f00;';>c'est une lettre</b>";
}
$var = "1 test";
if (is_numeric($var[0]))
{
echo "<b style='color:#0f0;';>c'est un nombre</b>";
}else
{
echo "<b style='color:#f00;';>c'est une lettre</b>";
}
Bon il faut en fait que je test si le premier caractère est un chiffre dsl :)
J'ai donc fait ca
if(!$nom=="" AND preg_match('^#[0-9]#^',strtolower($nom)))
Mais sans résultat une idée ?
J'ai donc fait ca
if(!$nom=="" AND preg_match('^#[0-9]#^',strtolower($nom)))
Mais sans résultat une idée ?
okuni
Messages postés
1221
Date d'inscription
jeudi 4 septembre 2008
Statut
Membre
Dernière intervention
2 janvier 2014
126
10 juin 2011 à 18:01
10 juin 2011 à 18:01
le ^ n'a rien a faire devant le #.
renseigne toi sur les regex, en plus c'est hyper puissant ;)
si ce masque est trouvé, cela voudra dire que le premier caractère de la chaine sera un chiffre.
renseigne toi sur les regex, en plus c'est hyper puissant ;)
#^[0-9]{1}#
si ce masque est trouvé, cela voudra dire que le premier caractère de la chaine sera un chiffre.