ScotlandPHP

ctype_xdigit

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

ctype_xdigitПроверяет наличие шестнадцатиричных цифр

Описание

bool ctype_xdigit ( string $text )

Проверяет, являются ли все символы в строке text шестнадцатиричными 'цифрами'.

Список параметров

text

Проверяемая строка.

Возвращаемые значения

Возвращает TRUE если каждый символ строки text является шестнадцатиричной 'цифрой', то есть десятичной цифрой либо символом из диапазона [A-Fa-f], в обратном случае возвращает FALSE.

Примеры

Пример #1 Пример использования ctype_xdigit()

<?php
$strings 
= array('AB10BC99''AR1012''ab12bc99');
foreach (
$strings as $testcase) {
    if (
ctype_xdigit($testcase)) {
        echo 
"Строка $testcase состоит из шестнадцатиричных цифр.\n";
    } else {
        echo 
"Строка $testcase состоит не только из шестнадцатиричных цифр.\n";
    }
}
?>

Результат выполнения данного примера:

Строка AB10BC99 состоит из шестнадцатиричных цифр.
Строка AR1012 состоит не только из шестнадцатиричных цифр.
Строка ab12bc99 состоит из шестнадцатиричных цифр.

Примечания

Замечание:

Если передан integer в диапазоне между -128 и 255 включительно, то он будет обработан как ASCII-код одного символа (к отрицательным значениям будет прибавлено 256 для возможности представления символов из расширенного диапазона ASCII). Любое другое целое число будет обработано как строка, содержащая десятичные цифры этого числа.

Смотрите также

  • ctype_digit() - Проверяет на наличие цифровых символов в строке

add a note add a note

User Contributed Notes 1 note

up
9
tom at hgmail dot com
11 years ago
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;
}
To Top