masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 20 juil. 2006 à 13:31
Autant dire que je suis un gros nul, car je ne connaissais pas l'existance de "===". donc je retire ma remarque du précédent post.
Désolé
masternico
Messages postés487Date d'inscriptiondimanche 5 octobre 2003StatutMembreDernière intervention 1 septembre 2011 20 juil. 2006 à 12:25
pour moi qui ai du mal à comprendre les expressions régulière, je trouve que le script proposé a une certaine élégence. Avec un bon vieu gout de c++. Par contre, "(if $pos === FALSE)" ne doit pas souvent fonctionner car les test logique se font avec seulement deux signes "égale". De plus, je trouve que tu aurais pu inclure les caractères valides en tant que paramètre d'appel de ta fonction.
function TestString($text, $validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_") {
$longueurtext = strlen($text);
for ($i=0;$i<$longueurtext;$i++) {
$lettre = substr($text,$i,1);
$pos = strpos($validchars, $lettre);
if ($pos == FALSE) {
return false;
}
}
return true;
}
Allez, je mets 8.
obcstaff
Messages postés147Date d'inscriptionmardi 15 novembre 2005StatutMembreDernière intervention28 janvier 2008 12 déc. 2005 à 17:21
olivierv a completement raison, c'est bocoup + simple avec la fonction php ereg( ) qui controle les caractere d'une chaine, tu peux facilement paramétré les caracteres autoriser, il existe aussi la fonction eregi( ) qui est la meme fonction que ereg( ) mais qui ne se soucie pas de la casse:
if (eregi( "[^a-zA-Z_-]+", $text) )
{
echo " erreur de caractere.... ";
}
C'est ainsi kon maitrise les email (nom@serv.fr par ex), num de tel (10 chiffres unikement), adresse, et tout autres parametre POSTER......
20 juil. 2006 à 13:31
Désolé
20 juil. 2006 à 12:25
function TestString($text, $validchars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890-_") {
$longueurtext = strlen($text);
for ($i=0;$i<$longueurtext;$i++) {
$lettre = substr($text,$i,1);
$pos = strpos($validchars, $lettre);
if ($pos == FALSE) {
return false;
}
}
return true;
}
Allez, je mets 8.
12 déc. 2005 à 17:21
if (eregi( "[^a-zA-Z_-]+", $text) )
{
echo " erreur de caractere.... ";
}
C'est ainsi kon maitrise les email (nom@serv.fr par ex), num de tel (10 chiffres unikement), adresse, et tout autres parametre POSTER......
9 oct. 2001 à 19:35
remplaces
$lettre = substr($text,$i,1);
par
$lettre = $text[$i];
esayyes tu verras ca marche
21 sept. 2001 à 11:12
if (ereg( "[^a-zA-Z_-]+", $NOM, $regs) ) {
print ("erreur");
}