This is the function in php form if your php is older than 4.0.4
<?php
if(!function_exists("ctype_xdigit")){
function ctype_xdigit($string = ""){
return !strlen( trim( $string, "1234567890abcdefABCDEF" ) );
}/* endfunction ctype_xdigit */
}/* endif not function_exists ctype_xdigit */
?>
ctype_xdigit
(PHP 4 >= 4.0.4, PHP 5)
ctype_xdigit — Vérifie qu'un caractère représente un nombre hexadécimal
Description
bool ctype_xdigit
( string $text
)
ctype_xdigit() vérifie si tous les caractères de la chaîne text sont des chiffres hexadécimaux.
Liste de paramètres
- text
-
La chaîne testée.
Valeurs de retour
Retourne TRUE si tous les caractères de text sont des chiffres hexadécimaux, c'est-à-dire un chiffre ou une des lettres [A-Fa-f], FALSE sinon.
Exemples
Exemple #1 Exemple avec ctype_xdigit()
<?php
$strings = array('AB10BC99', 'AR1012', 'ab12bc99');
foreach ($strings as $testcase) {
if (ctype_xdigit($testcase)) {
echo "La chaîne $testcase ne contient que des chiffres hexadécimaux.\n";
} else {
echo "La chaîne $testcase ne contient pas que des chiffres hexadécimaux.\n";
}
}
?>
L'exemple ci-dessus va afficher :
La chaîne AB10BC99 ne contient que des chiffres hexadécimaux. La chaîne AR1012 ne contient pas que des chiffres hexadécimaux. La chaîne ab12bc99 ne contient que des chiffres hexadécimaux.
ctype_xdigit
dot dot dot dot dot alexander at gmail dot com
30-Jan-2008 07:41
30-Jan-2008 07:41
tom at hgmail dot com
14-Jan-2006 09:36
14-Jan-2006 09:36
This function shows its usefulness on a web site where a user is asked to entered a hexidecimal color code for a color. To prevent breaking W3C standard and having them enter in "neon-green" or the wrong type of code like 355511235.
In conjunction with strlen() you could create a function like this:
function check_valid_colorhex($colorCode) {
// If user accidentally passed along the # sign, strip it off
$colorCode = ltrim($colorCode, '#');
if (
ctype_xdigit($colorCode) &&
(strlen($colorCode) == 6 || strlen($colorCode) == 3))
return true;
else return false;
}
