(PHP 7, PHP 8)
IntlChar::isxdigit — Comprobar si el punto de código es un dígito hexadecimal
Determina si el punto de código especificado es un dígito hexadecimal.
true
para caracteres con la categoría general "Nd" (números de dígito decimal) así
como con las letras latinas a-f y A-F tanto en ASCII como en ASCII de ancho completo.
(Esto es, para letras con puntos de código 0041..0046, 0061..0066, FF21..FF26, FF41..FF46).
Esto equivale a IntlChar::digit($codepoint, 16) >= 0
.
codepoint
El valor de tipo integer del punto de código (p.ej. 0x2603
para U+2603 SNOWMAN), o el carácter codificado como un string UTF-8 (p.ej. "\u{2603}"
)
Devuelve true
si
codepoint
es un carácter hexadecimal, false
si no.
Nota:
Para limitar la definición de dígitos hexadecimales a caracteres ASCII solo, emplee:
<?php
$isASCIIHexadecimal = IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>
Ejemplo #1 Probar diferentes puntos de código
<?php
var_dump(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>
El resultado del ejemplo sería:
bool(true) bool(true) bool(false)