ctype_xdigit
ctype_xdigit($text)
Vrátí true, když text obsahuje jen šestnáctkové číslice 0–9, a–f a A–F a není prázdný.
Parametry
- $text – zkoumaný text.
Příklady
var_dump(ctype_xdigit("1a2B3c")); // bool(true)
var_dump(ctype_xdigit("12g")); // bool(false)
// barva ve tvaru #RRGGBB
$barva = "#3366cc";
var_dump(strlen($barva) === 7 && $barva[0] === "#" && ctype_xdigit(substr($barva, 1))); // bool(true)
// token z bin2hex(random_bytes(16)) má 32 šestnáctkových znaků
$token = bin2hex(random_bytes(16));
var_dump(strlen($token) === 32 && ctype_xdigit($token)); // bool(true)
// ověření před převodem, hexdec by neplatné znaky jen přeskočil
$vstup = "ff";
echo ctype_xdigit($vstup) ? hexdec($vstup) : "neplatné"; // 255
Na co si dát pozor
- Předpona „0x“ ani „#“ neprojde. Před kontrolou ji odstraňte.
- Délku kontrolujte zvlášť, funkce ji neřeší.
- Předávejte text. Předání čísla je od PHP 8.1 zastaralé.
Příbuzné funkce:
hexdec()
bin2hex()
ctype_digit()