全角かどうか
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がうまくできない時に試すこと