PHP 5.4.33 Released

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnumAuf alphanumerische Zeichen überprüfen

Beschreibung

bool ctype_alnum ( string $text )

Gibt TRUE zurück, wenn alle Zeichen in text entweder ein Buchstabe oder eine Ziffer sind. Anderenfalls wird FALSE zurückgegeben. In der Standardeinstellung für locale C gelten nur [A-Za-z] als Buchstaben.

Parameter-Liste

text

Der zu prüfende String.

Rückgabewerte

Liefert TRUE wenn jedes Zeichen in text ein Buchstabe oder eine Ziffer ist, sonst FALSE.

Beispiele

Beispiel #1 ctype_alnum() Beispiel (standard-locale vorausgesetzt)

<?php
$strings 
= array('AbCd1zyZ9''foo!#$bar');
foreach (
$strings as $testcase) {
    if (
ctype_alnum($testcase)) {
        echo 
"Der String $testcase enthält nur Buchstaben und Ziffern.\n";
    } else {
        echo 
"Der String $testcase bestehtn nicht nur aus Buchstaben und Ziffern.\n";
    }
}
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

Der String AbCd1zyZ9 enthält nur Buchstaben und Ziffern.
Der String foo!#$bar besteht nicht nur aus Buchstaben und Ziffern.

Anmerkungen

Hinweis:

Wenn ein integer zwischen -128 und 255 (inklusive) übergeben wird, wird dieser als ASCII Wert eines einzelnen Buchstabens interpretiert (zu negativen Werten wird 256 dazu addiert, um Buchstaben des Erweiterten ASCII Zeichensatzes zu erlauben). Alle anderen Integer werden wie ein String interpretiert, welcher die dezimalen Ziffern des Integers enthält.

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
18
thinice at gmail dot com
5 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:

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

if(!
ctype_alnum(str_replace($aValid, '', $sUser))) {
    echo
'Your username is not properly formatted.';
}
?>
up
3
Rory
4 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.
up
3
Anonymous
1 year ago
Quicktip: If ctype is not enabled by default on your server, replace ctype_alnum($var) with preg_match('/^[a-zA-Z0-9]+$/', $var).
To Top