XVII. Функции определения типа символов

Введение

Функции представленные этим расширением позволяют проверить принадлежность символа или строки определенному классу символов принимая во внимание текущие региональные установки (смотрите также функцию setlocale()).

Будучи вызванными с челочисленным аргументом, эти функции полностью аналогичны своим эквивалентам в языке C (из ctype.h).

Если аргументом выступает строка, то функции будут проверять каждый символ в этой строке и вернут TRUE только если каждый символ удовлятворяет требуемуму условию. При вызове с пустой строкой в качестве аргуемента, функции всегда возвращают TRUE.

При передачи данных других типов (кроме целого или строки) функции возвращают FALSE.

Требования

Стандартная библиотека C всегда доступна, поэтому дополнительных требований нет.

Установка

Начиная с PHP 4.2.0 эти функции включены по умолчанию. В предыдущих версиях вы должны сконфигурировать и откомпилировать PHP с --enable-ctype. Запретить поддержку ctype можно с помощью --disable-ctype.

Версия PHP для Windows имеет встроенную поддержку данного расширения. Это означает, что для использования данных функций не требуется загрузка никаких дополнительных расширений.

Замечание: Встроенная поддержка ctype доступна с PHP 4.3.0.

Настройка во время выполнения

Данное расширение не определяет никакие директивы конфигурации в php.ini.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные константы

Данное расширение не определяет никакие константы.

Содержание
ctype_alnum -- Check for alphanumeric character(s)
ctype_alpha -- Check for alphabetic character(s)
ctype_cntrl -- Check for control character(s)
ctype_digit -- Проверяет является ли символ цифрой
ctype_graph -- Check for any printable character(s) except space
ctype_lower -- Check for lowercase character(s)
ctype_print -- Check for printable character(s)
ctype_punct --  Check for any printable character which is not whitespace or an alphanumeric character
ctype_space -- Check for whitespace character(s)
ctype_upper -- Check for uppercase character(s)
ctype_xdigit --  Проверяет является ли указанный символ шестнадцатеричной цифрой


Функции определения типа символов
avarab at gmail dot com
03-Jan-2006 12:58
In case the ctype_*() functions aren't compiled in your PHP and you can't recompile for some reason (e.g. shared host) you can use the compatability functions from the MediaWiki project which use preg_* as a replacement[1], removing lines 2 and 3 in the source should make them suitable for usage elsewhere.

Shameless self-advertisement, but hey, we find them useful;)

1. A tinyurl because the submission script complained about long lines: http://tinyurl.com/7hz4l
1. The real url split up:
http://cvs.sourceforge.net/viewcvs.py/*checkout*/
wikipedia/phase3/includes/compatability/ctype.php
martin you_know_the_at marty.me.uk
09-Dec-2005 12:48
Note on Gentoo systems to enable ctype functions you need to set the use flag for php "ctype" else you'll have problems ;)
Gregory Boshoff
07-Aug-2005 08:47
As noted above unfortunately many PHP developers are seemingly unaware of these functions and are still using less  efficient equivalents.

Use the ctype functions for input type vaildation.

Example wrapper function:

 function detect_type($str, $type_req = ''){
       $type = array();
     (ctype_alnum($str) === TRUE) ? ($type = 'alnum') : FALSE;
     (ctype_digit($str) === TRUE) ? ($type = 'digit') : FALSE;
     (ctype_alpha($str) === TRUE) ? ($type = 'alpha') : FALSE;
       return ($type === $type_req) ? TRUE : FALSE;
   } // end fun

$str = 'AlphaString';
$type_req = 'alpha';

// Returns TRUE if the string is of the required type
echo detect_type($str, $type_req);

<crack_opendictctype_alnum>
 Last updated: Mon, 14 Nov 2005