PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

ctype_alpha> <Ctype 関数
Last updated: Fri, 05 Sep 2008

view this page in

ctype_alnum

(PHP 4 >= 4.0.4, PHP 5)

ctype_alnum英数字かどうかを調べる

説明

bool ctype_alnum ( string $text )

与えられた文字列 text のすべての文字が英字または 数字であるかどうかを調べます。標準の C ロケールの場合、 文字は [A-Za-z] となります。

パラメータ

text

調べる文字列。

返り値

text のすべての文字が英字または数字だった場合に TRUE 、そうでない場合に FALSE を返します。

例1 A ctype_alnum() の例 (デフォルトのロケールを使用)

<?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.



ctype_alpha> <Ctype 関数
Last updated: Fri, 05 Sep 2008
 
add a note add a note User Contributed Notes
ctype_alnum
kostromin at gmail com
26-Feb-2008 07:24
@ ben at onshop dot co dot uk

Your example is the slowest possible way to do it.
The whole idea behind using ctype_alnum is that it is much faster than a regexp.
If you have to use regexp, at least use PCRE, not POSIX.
ben at onshop dot co dot uk
13-Jan-2008 12:03
Oops, above example should read:

if(eregi('[^a-zA-Z0-9_]', $str)){
 $msg = 'Please enter an alphanumeric value';
)
ben at onshop dot co dot uk
13-Jan-2008 10:26
An alternative if you need to accept underscores as well:

$str = 'user_name';

if(!eregi('[^a-zA-Z0-9_]', $str)){
 $msg = 'Please enter an alphanumeric value';
)

ctype_alpha> <Ctype 関数
Last updated: Fri, 05 Sep 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites