Ctype 函数
在线手册:中文 英文
PHP手册

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit Check for character(s) representing a hexadecimal digit

说明

bool ctype_xdigit ( string $text )

Checks if all of the characters in the provided string, text, are hexadecimal 'digits'.

参数

text

The tested string.

返回值

Returns TRUE if every character in text is a hexadecimal 'digit', that is a decimal digit or a character from [A-Fa-f] , FALSE otherwise.

范例

Example #1 A ctype_xdigit() example

<?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字符). 其它整数将会被解释为该值对应的十进制字符串.

参见


Ctype 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Check for character(s) representing a hexadecimal digit

用户评论:

dot dot dot dot dot alexander at gmail dot com (30-Jan-2008 06:41)

This is the function in php form if your php is older than 4.0.4
<?php
if(!function_exists("ctype_xdigit")){
    function
ctype_xdigit($string = ""){
        return !
strlentrim( $string"1234567890abcdefABCDEF" )  );
    }
/* endfunction ctype_xdigit */
}/* endif not function_exists ctype_xdigit */
?>

tom at hgmail dot com (14-Jan-2006 08:36)

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