[php] Tester si le paramètre est en hexa

Résolu
dcanl Messages postés 3004 Date d'inscription   Statut Contributeur Dernière intervention   -  
dcanl Messages postés 3004 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

Existe-t-il une fonction php qui permette de savoir si une chaine passée en paramètre est bien en hexadécimal ?

Si oui, laquelle ?

Si non, j'imagine qu'il faut que je parcours la chaîne pour vérifier que chaque caractère appartient à 0123456789ABCDEFabcdef... Comment pourrais-je faire ça ?

Merci d'avance !
--
Quand la merde tombe du ciel, le malchanceux n'a pas de chapeau.

3 réponses

  1. vlmath Messages postés 833 Statut Contributeur 160
     
    Salut,

    Tu peux utiliser les expressions réguilières pour tester ça :

    <code><?php
    if( ereg("^[0-9a-fA-F]{1,}$",$variable) ) print "Format OK"; else print "Chaîne pas en hexadécimal";
    ?>

    Ici, la fonction ereg va te chercher dans la variable $variable une suite de 1 ou plus caractère qui peuvent être compris entre 0 et 9, a et f ou A et F. La chaîne devra commencer ( ^ ) et finir ( $ ) par un de ces caractères.

    @Bientôt
    2
  2. dcanl Messages postés 3004 Date d'inscription   Statut Contributeur Dernière intervention   470
     
    Salut.

    Merci pour ta réponse.

    Effectivement, je pensais bien que les expressions régulières allaient pouvoir me permettre de faire ce que je souhaite, mais étant donné que je n'ai que très peu d'expérience avec celles-ci, je ne savais pas comment m'y prendre.

    Donc merci beaucoup, je teste ça dès que je peux !

    @+
    0
  3. dcanl Messages postés 3004 Date d'inscription   Statut Contributeur Dernière intervention   470
     
    Merci beaucoup c'est nickel.

    Ça m'a remotivé pour apprendre les expressions régulières ! :D

    @+
    0