全角かどうか
preg_match('/^[^ -~。-゚\x00-\x1f\t]+$/u', $value)
[^...]の部分で半角文字以外を表現
正規表現 | 説明 |
---|---|
\t | タブ文字 |
\x00-\x1f | 制御文字。念のため |
-~。-゚ | 半角文字 |
半角カナかどうか
半角の句読点(。と、)はNG
半角空白OKとする
preg_match('/^[ヲ-゚ー ]+$/u', $value);
ヲ-゚
を。-゚
とすると句読点もOKになる
PHPで半角カタカナの入力チェック(正規表現)
正規表現チェック前にtrimするとき
trim(mb_convert_kana($value, "s", 'UTF-8'));
より確実にトリム処理したいときはこちらのコメントを参照
PHPで全角スペースのtrimがうまくできない時に試すこと