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

Résolu
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. Contributeur
    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
    1. Contributeur
      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
      1. Contributeur
        Merci beaucoup c'est nickel.

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

        @+
        0