Pregmatch et champs input en entier

confiance150 Messages postés 12 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
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

  1. A.Nonymous
     
    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
  2. Alain_42 Messages postés 5413 Statut Membre 904
     
    et ça

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