Pregmatch et champs input en entier

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. 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
    1. et ça

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