質問: PHPのバリデーションチェックで「半角記号の入力を禁止」する方法を教えて下さい。 文字列の中に 「!"#$%&'()=-~^|\{[]}*+;:<>,.?/_」 のような半角記号が1文字以上含む場合はエラーにしたいです。
回答: > のような半角記号が1文字以上含む場合はエラーにしたい 「のような」という曖昧な表現では不可能で、プログラムでやる以上は厳密な表現が必要です。 ・全ての半角記号 ・指定したリストに含まれる文字 など... 一般に複数の文字の有無を検出したい場合、正規表現が使われることが多いです。 その上で、検出したい文字を全て並べる(範囲指定も可)するか、Unicodeのプロパティで表現するかでしょう。 > PHPのバリデーションチェックで「半角記号の入力を禁止」する shimixさん が逆質問している様に、半角記号がNGならマルチバイト(≒全角文字)の記号もNGな場合が殆どなはずだから 、状況を想像できない... まぁ、それなりの理由があるのだろうけれど...