PHPで半角カタカナの入力チェック(正規表現)

Posted by admin | PHP, 正規表現 | 木曜日 21 8月 2008 2:11 PM

phpで半角カタカナのみの入力チェックの必要性があったのでメモ。

参考url:

正規表現:半角カナが含まれていないか調べる – phpspot

半角カナ – Wikipedia



最初は下記の通りやったのですが、小文字の「ァ~ォ、ッ、ャ~ョ」濁点「゙゚」等が反応しなく

うまくいきませんでした。

<?php

mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');

$str = 'アイウエオャュョバピ';

if (mb_ereg('^[ア-ン]+$', $str)) {
    echo '半角カタカナのみです';
} else {
    echo '半角カタカナ以外の文字も含まれています';
}

?>






そこで調べた結果、下記の様にするとうまく行きました。

<?php

mb_regex_encoding('UTF-8');
mb_internal_encoding('UTF-8');

$str = 'アイウエオャュョバピ';

if (mb_ereg('^[ヲ-゚]+$', $str)) {
    echo '半角カタカナのみです';
} else {
    echo '半角カタカナ以外の文字も含まれています';
}

?>



ちなみに、句読点「、」「。」等も含めたい場合は

mb_ereg('^[。-゚]+$', $str)


とすると良さそうです。


う~ん、正規表現は難しい~(;´Д`)
もし間違ってたり、もっと良い方法をご存じの方はお知らせ頂けると嬉しいです(´∀`)



【サイト内の関連記事】





コメントはまだありません »

コメントはまだありません。

このコメント欄の RSS フィード TrackBack URI

コメントをどうぞ