英字の判別(ctype_alpha, ctype_alnum)
広告
関数の引数に指定された文字列に英字だけが含まれているかどうかを確認します。「ctype_alpha」関数を使います。
ctype_alpha boolean ctype_alpha(string text)
引数の文字列に英字だけが含まれているかどうかを確認します。英字はa~z, A~Zです。英字だけであればTRUEを英字以外が含まれていればFALSEを返します。 引数: text 調べる文字列。 返り値: textのすべての文字が英字だった場合に TRUE 、そうでない場合に FALSE を返します。
英字だけでなく、英字か数字だけが含まれているかどうかを確認する関数として「ctype_alnum」関数も用意されています。
ctype_alnum boolean ctype_alnum(string text)
引数の文字列に英字又は数字だけが含まれているかどうかを確認します。英字 はa~z,A~Z、数字は0~9です。英字又は数字だけであればTRUEを英字又は数字 以外が含まれていればFALSEを返します。 引数: text 調べる文字列。 返り値: textのすべての文字が英字又は数字だった場合に TRUE 、そうでない場合に FALSE を返します。
では実際に試して見ます。
<html> <head><title>PHP TEST</title></head> <body> <?php $input_data = $_GET['text1']; function dispKekka($str){ $kekka1 = ctype_alpha($str); $kekka2 = ctype_alnum($str); print('調べる文字列は'.$str.'です<br>'); if ($kekka1 == TRUE){ print('文字列は英字だけが含まれています<br><br>'); }else{ if ($kekka2 == TRUE){ print('文字列は英字及び数字だけが含まれています<br><br>'); }else{ print('文字列は英数字以外の文字が含まれています<br><br>'); } } } $str = 'abcdef'; dispKekka($str); $str = 'abc@def'; dispKekka($str); $str = 'abc654def'; dispKekka($str); ?> </body> </html>
上記のファイルをWWWサーバに設置しブラウザ経由で見ると下記のように表示されます。
( Written by Tatsuo Ikura )