International PHP Conference Munich 2025

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_xdigit Verifica se os caracteres representam um dígito hexadecimal

Descrição

ctype_xdigit(mixed $text): bool

Verifica se todos os caracteres na string fornecida, text, são 'dígitos' hexadecimais.

Parâmetros

text

A string a ser testada.

Nota:

Se um int entre -128 e 255 inclusive for fornecido, ele será interpretado como o valor ASCII de um único caractere (valores negativos são somados a 256 para permitir caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado como uma string contendo os dígitos decimais do inteiro.

Aviso

A partir do PHP 8.1.0, passar um argumento que não seja string foi descontinuado. No futuro, o argumento será interpretado como uma string em vez de um ponto de código ASCII. Dependendo do comportamento esperado, o argumento deve ser convertido para string ou uma chamada explícita para chr() deve ser feita.

Valor Retornado

Retorna true se todos caracteres em text são 'dígitos' hexadecimais, que são os dígitos e caracteres no intervalo [A-Fa-f], false caso contrário. Quando chamada com uma string vazia, o resultado sempre será false.

Exemplos

Exemplo #1 Um exemplo de ctype_xdigit()

<?php
$strings
= array('AB10BC99', 'AR1012', 'ab12bc99');
foreach (
$strings as $testcase) {
if (
ctype_xdigit($testcase)) {
echo
"A string $testcase consiste inteiramente de dígitos hexadecimais.\n";
} else {
echo
"A string $testcase consiste inteiramente de dígitos hexadecimais.\n";
}
}
?>

O exemplo acima produzirá:

A string AB10BC99 consiste inteiramente de dígitos hexadecimais.
A string AR1012 não consiste inteiramente de dígitos hexadecimais.
A string ab12bc99 consiste inteiramente de dígitos hexadecimais.

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
22
tom at hgmail dot com
19 years ago
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;
}
To Top