Ctype 函数
在线手册:中文  英文

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnumCheck for alphanumeric character(s)

说明

bool ctype_alnum ( string $text )

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

参数

text

The tested string.

返回值

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

范例

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 string AbCd1zyZ9 consists of all letters or digits.
The string foo!#$bar does not consist of all letters or digits.

注释

Note:

如果给出一个 -128 到 255 之间(含)的整数, 将会被解释为该值对应的ASCII字符 (负值将加上 256 以支持扩展ASCII字符). 其它整数将会被解释为该值对应的十进制字符串.

参见


Ctype 函数
在线手册:中文  英文

用户评论:

Anonymous (2013-01-28 17:12:25)

Quicktip: If ctype is not enabled by default on your server, replace ctype_alnum($var) with preg_match('/^[a-zA-Z0-9]+$/', $var).

Rory (2009-12-07 04:42:24)

Just for the record, Gentoo doesn't include this function by default. You'll have to recompile PHP with the "ctype" USE flag.

thinice at gmail dot com (2009-07-22 14:46:28)

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.';
}
?>

易百教程