[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 !
A voir également:

3 réponses

vlmath Messages postés 794 Date d'inscription   Statut Contributeur Dernière intervention   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
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
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