• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ctype_xdigit()

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

    检测字符串是否只包含十六进制字符

    说明

    ctype_xdigit(string $text): bool

    检查string和$text里面的字符是不是都是十六进制字符串。

    参数

    $text

    需要被测试的字符串。

    返回值

    如果$text里面的每个字符都是十六进制字符。也就是只能包含十进制的树枝和[A-Fa-f]的字母。否则,返回FALSE

    范例

    一个ctype_xdigit()的例子

    <?php
    $strings = array('AB10BC99', 'AR1012', 'ab12bc99');
    foreach ($strings as $testcase) {
        if (ctype_xdigit($testcase)) {
            echo "The string $testcase consists of all hexadecimal digits.\n";
        } else {
            echo "The string $testcase does not consist of all hexadecimal digits.\n";
        }
    }
    ?>
    

    以上例程会输出:

    The string AB10BC99 consists of all hexadecimal digits.
    The string AR1012 does not consist of all hexadecimal digits.
    The string ab12bc99 consists of all hexadecimal digits.
    

    注释

    Note:

    如果给出一个-128 到 255 之间(含)的整数,将会被解释为该值对应的ASCII字符(负值将加上 256 以支持扩展ASCII字符).其它整数将会被解释为该值对应的十进制字符串.

    参见

    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;
    }

    上篇:ctype_upper()