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 !strlen( trim( $string, "1234567890abcdefABCDEF" ) );
}/* endfunction ctype_xdigit */
}/* endif not function_exists ctype_xdigit */
?>
ctype_xdigit
(PHP 4 >= 4.0.4, PHP 5)
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 состоит из шестнадцатеричных цифр.
ctype_xdigit
dot dot dot dot dot alexander at gmail dot com
30-Jan-2008 07:41
30-Jan-2008 07:41
tom at hgmail dot com
14-Jan-2006 09:36
14-Jan-2006 09: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;
}
