(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);
?>