ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnumCheck for alphanumeric character(s)

Description

bool ctype_alnum ( string $text )

Checks if all of the characters in the provided string, text, are alphanumeric.

Parameters

text

The tested string.

Return Values

Returns TRUE if every character in text is either a letter or a digit, FALSE otherwise.

Examples

Example #1 A ctype_alnum() example (using the default locale)

<?php
$strings 
= array('AbCd1zyZ9''foo!#$bar');
foreach (
$strings as $testcase) {
    if (
ctype_alnum($testcase)) {
        echo 
"The string $testcase consists of all letters or digits.\n";
    } else {
        echo 
"The string $testcase does not consist of all letters or digits.\n";
    }
}
?>

The above example will output:

The string AbCd1zyZ9 consists of all letters or digits.
The string foo!#$bar does not consist of all letters or digits.

Notes

Note:

If an integer between -128 and 255 inclusive is provided, it is interpreted as the ASCII value of a single character (negative values have 256 added in order to allow characters in the Extended ASCII range). Any other integer is interpreted as a string containing the decimal digits of the integer.

See Also

Коментарии

ctype_alnum() is a godsend for quick and easy username/data filtering when used in conjunction with str_replace().

Let's say your usernames have dash(-) and underscore(_) allowable and alphanumeric digits as well.

Instead of a regex you can trade a bit of performance for simplicity:

<?php
$sUser 
'my_username01';
$aValid = array('-''_');

if(!
ctype_alnum(str_replace($aValid''$sUser))) {
    echo 
'Your username is not properly formatted.';
}
?>
2009-07-22 17:46:28
http://php5.kiev.ua/manual/ru/function.ctype-alnum.html
Автор:
Quicktip: If ctype is not enabled by default on your server, replace ctype_alnum($var) with preg_match('/^[a-zA-Z0-9]+$/', $var).
2013-01-28 19:12:25
http://php5.kiev.ua/manual/ru/function.ctype-alnum.html
It is also important to note that the behavior of `ctype_alnum` differs according to the operating system. For UNIX-based operating system, if you pass a value that is not a string (or an overloaded object), independently of the value, it will always result in false. However, if we do the same on Windows, using, for example, -1 as literal (a minus and a number greater than 0), we'll have true as result.

<?php var_dump(ctype_alnum(-1));
// UNIX: bool(false)
// Windows: bool(true)
2016-01-04 18:42:48
http://php5.kiev.ua/manual/ru/function.ctype-alnum.html

    Поддержать сайт на родительском проекте КГБ