IntlChar::isxdigit

Check if code point is a hexadecimal digit

Description

public static bool IntlChar::isxdigit ( mixed $codepoint )

Determines whether the specified code point is a hexadecimal digit.

TRUE for characters with general category "Nd" (decimal digit numbers) as well as Latin letters a-f and A-F in both ASCII and Fullwidth ASCII. (That is, for letters with code points 0041..0046, 0061..0066, FF21..FF26, FF41..FF46.)

This is equivalent to IntlChar::digit($codepoint, 16) >= 0.

Parameters

codepoint

The integer codepoint value (e.g. 0x2603 for U+2603 SNOWMAN), or the character encoded as a UTF-8 string (e.g. "\u{2603}")

Return Values

Returns TRUE if codepoint is a hexadecimal character, FALSE if not.

Notes

Note:

In order to narrow the definition of hexadecimal digits to only ASCII characters use:

<?php
$isASCIIHexadecimal 
IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>

Examples

Example #1 Testing different code points

<?php
var_dump
(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>

The above example will output:

bool(true)
bool(true)
bool(false)

See Also

  • IntlChar::isdigit