私は基本的なASCII文字をカバーする言語の文字列の検証を行っている正規表現を見てきましたが、それは、他のアルファベットの元を判別する:中国語、日本語、キリル文字、アラビア語などPHPでロケールに基づいて文字列を検証する方法を教えてください。
は、それにはかなりの多言語サイト上でのユーザー入力のためです。 予想される入力言語は、そのアルファベットの文字の入力を制限する必要があることに基づいて判断することができます。
それは実現可能ですか? 誰かがこの種の検証を行う既存のライブラリを知っていますか?
ロケールに基づくホワイトリストアプローチが現実的でない場合、すべての、または少なくとも最も一般的な特殊文字をブロックするためのシンプルな汎用ブラックリストソリューションがありますか? (ロケールのアルファベットのメンバーではないもの)
ありがとうございました。
、無意味です。指定された文字列があなたのために無効になる基準は何ですか?日本語のユーザーが英語の文字を入力できないのですか?アラビア語のユーザーは西洋の数字を入力できないのですか? –
こんにちは、フィードバックのおかげで、私はPHPのフィルタの機能を検証する参照しようとしていた:http://php.net/manual/en/filter.filters.validate.php - そう刺すときにドット、コンマ、ハッシュタグ、アンパサンドなど、特定のロケール上の実際のアルファベット文字ではありません。日本人が英語の文字を書くことを防ぐという事実は重要ではない。 – Mike
'FILTER_VALIDATE_BOOLEAN'、' FILTER_VALIDATE_EMAIL'、 'FILTER_VALIDATE_FLOAT' ...がどのようにアルファベットの影響を受けるのかまだ分かりません。確かに、ユーザは例えばFLOATをタイプすることができる。スペイン語のロケール '1.123,56'ですが、私はその"文字列検証 "とは言いません。実装したいと思う特定の機能がありますか? –