(PHP 7, PHP 8)
IntlChar::isxdigit — 检查代码点是否为十六进制数字
确定指定的代码点是否为十六进制数字。
对于具有通用类别 "Nd"(十进制数字)以及 ASCII 和全角 ASCII 中的拉丁字母 a-f 和 A-F 的字符,返回 true
。 (即,对于代码点为 0041..0046、0061..0066、FF21..FF26、FF41..FF46 的字母)。
这等效于 IntlChar::digit($codepoint, 16) >= 0
。
示例 #1 测试不同的代码点
<?php
var_dump(IntlChar::isxdigit("A"));
var_dump(IntlChar::isxdigit("1"));
var_dump(IntlChar::isxdigit("\u{2603}"));
?>
上面的示例将输出
bool(true) bool(true) bool(false)
注意:
为了将十六进制数字的定义缩小到仅 ASCII 字符,请使用
<?php
$isASCIIHexadecimal = IntlChar::ord($codepoint) <= 0x7F && IntlChar::isxdigit($codepoint);
?>