downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Filter> <ctype_upper
[edit] Last updated: Fri, 25 May 2012

view this page in

ctype_xdigit

(PHP 4 >= 4.0.4, PHP 5)

ctype_xdigit 16 進数を表す文字かどうかを調べる

説明

bool ctype_xdigit ( string $text )

与えられた文字列 text のすべての文字が 16 進の '数字' であるかどうかを調べます。

パラメータ

text

調べる文字列。

返り値

text のすべての文字が 16 進の '数字' つまり 10 進の数字または [A-Fa-f] だった場合に TRUE 、そうでない場合に FALSE を返します。

例1 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.

注意

注意:

-128 から 255 までの整数値を渡すと、ひとつの文字の ASCII 値とみなします (負の値には 256 を足して、拡張 ASCII の範囲に収まるようにします)。 それ以外の整数値は、10 進数を含む文字列とみなします。

参考



add a note add a note User Contributed Notes ctype_xdigit
tom at hgmail dot com 14-Jan-2006 12: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;
}

 
show source | credits | stats | sitemap | contact | advertising | mirror sites