Pregmatch et champs input en entier

Fermé
confiance150 Messages postés 9 Date d'inscription jeudi 12 novembre 2009 Statut Membre Dernière intervention 13 mai 2013 - 27 mai 2012 à 19:39
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 29 mai 2012 à 10:05
Bonjour,

Ma question est la suivante : comment écrire une fonction à l' aide des expression régulière afin de n'accepter que des entiers sur une longueur de 16 charactères.
J' ai comme code celui ci mais qui ne me donne satisfaction:

function NumcartEstValide($numero)
{
   
	if(preg_match("/^d{16}$/",$numero)== 0)
	
	{
	
	  echo "valeur correct";
	  
	}
	
	else {
	
	echo "retour :1";
	}
		
}


Ce que je souhaiterai plutôt c'est de rechercher s'il existe un caractère alphabétique dans ma variable. Dans ce cas alors la fonction retournera un booléen false.

Merci.

2 réponses

Le code ci-dessus ne fait pas ce qui est attendu.

if(preg_match("/^\\d{16}$/", $numero))
{
// chaîne de16 chiffres
}else{
// autre chose
}

Avoir un caractère alphabétique n'est pas le test complémentaire de n'avoir que des chiffres : "_/\=+)" ne sont ni des caractères alphabétiques, ni des chiffres.
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
29 mai 2012 à 10:05
et ça

function NumcartEstValide($numero)
{
   
	if(preg_match("/^[0-9]{16}$/",$numero))
	
	{
	
	  echo "valeur correct";
	  
	}
	
	else {
	
	echo "retour :1";
	}
		
}
0