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

ctype_alnumControlla i caratteri alfanumerici


ctype_alnum(string $text): bool

Controlla che tutti i caratteri della string text fornita, siano alfanumerici.

Elenco dei parametri


La stringa da testare.

Valori restituiti

Restituisce true se ogni carattere in text è o una lettera o una cifra, false in caso contrario.


Example #1 Un esempio di ctype_alnum() (usando il locale di default)

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

Il precedente esempio visualizzerà:

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



Se è fornito un integer tra -128 e 255, viene interpretato come il valore ASCII di un singolo carattere (ai valori negativi viene aggiunto 256 in modo da permettere i caratteri Extended ASCII). Qualsiasi altro intero è interpretato come una stringa contenente le cifre decimali dell'intero.

Vedere anche:

add a note add a note

User Contributed Notes 4 notes

thinice at gmail dot com
13 years ago
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:

= 'my_username01';
$aValid = array('-', '_');

ctype_alnum(str_replace($aValid, '', $sUser))) {
'Your username is not properly formatted.';
9 years ago
Quicktip: If ctype is not enabled by default on your server, replace ctype_alnum($var) with preg_match('/^[a-zA-Z0-9]+$/', $var).
marcelocamargo at linuxmail dot org
6 years ago
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)
12 years ago
Just for the record, Gentoo doesn't include this function by default. You'll have to recompile PHP with the "ctype" USE flag.
To Top