私はこれが間違った質問であることを知っていますが、私は何の結果もなしに2日間のグーグルで過ごしました。 ユーザがキリル文字とスペースだけを入力できるようにするには、どのようなregExpパターンが必要ですか? ありがとうございます!Javascript regExpキリル文字のパターン
答えて
Javascriptでは、最も基本的なものでもLevel 1 Unicode supportを正規表現で提供していないため、Javascriptでこれを行うことはできません。これを正しく行うには、言語を切り替える必要があります。
これに列挙されたブロック範囲を使用することはできません。それはブロックやスクリプトを混乱させ、深刻な欠陥があります。 \p{Script=Cyrillic}
プロパティを持つが、\p{Block=Cyrillic}
プロパティを持たない150のコードポイントがあります。彼らは別のブロックにあります。時計:
$ unichars '\p{Script=Cyrillic}' '\P{Block=Cyrillic}' | wc -l
150
さらに、キリル文字ブロックには2つの非キリルコードポイントがあります。
あなたができるのは、文字クラスとして404キリル文字のコードポイントをすべて列挙することです。これは、非常に大きなものになる可能性があります。
$ unichars '\p{Script=Cyrillic}' | wc -l
404
the unichars scriptsを使用して、本当に必要なものをすべて一覧にすることができます。そこにいる間にthe uniprops scriptをつかむこともできます。
OKをクリックします。どのように私はPHPでそれをテストすることができます。私はAJAXで試してみる。 –
@Emil:PHPのpreg( "perl regex")関数を使うと、 '\ \ p {IsCyrillic}]のような文字クラスを使うことができるはずです。\ p {IsCyrillic} 'は' \ p {Script = Cyrillic} 'のエイリアスでなければなりません。他にもいくつかの言語がありますが、基本的には、これを正しく動作させるためにUnicodeスクリプトのプロパティをサポートする必要があります。ところで、 '\ p {IsCommon} 'を介してスクリプト型Commonの文字を許可することもできます。それらは空白を含む通常の句読点などです。私が言及した* uniprops *スクリプトは、コードポイントのすべてのプロパティをリストすることができます。 – tchrist
@Emil: 'preg'パターンがPHPでどのように動作するかを知るために* pcrepattern * manページを読むと、PHPがリンクされているPCREライブラリがUnicodeサポートでビルド/コンパイルされていれば**サイト依存の場合)、PCREとPHPはスクリプトプロパティのショートカットエイリアスを使用するので、 '\ p {Cyrillic}'は '\ p {Script = Cyrillic}'の表現方法です。スクリプトのプロパティへのアクセスには、Perl 5.6以降、Ruby 1.9以降、またはJava 1.7以降を使用することもできます。 **注意:** '\ p {キリル文字}'は '\ p {ブロック=キリル文字}'ではなく、 '\ p {スクリプト=キリル文字}'ではないので、C#は使用できません。 – tchrist
- 1. javascriptキリル文字正規表現
- 2. QXmlStreamWriterとキリル文字
- 3. セレニウムのキリル文字Java
- 4. キリル文字のDOMPDF問題
- 5. キリル文字のphp json_encode
- 6. Erlangとキリル文字のバイナリ
- 7. Node.js cheerio奇妙な文字(キリル文字)
- 8. tr [:upper:] [:lower:]キリル文字で
- 9. mkdir utf-8キリル文字
- 10. javaキリル文字認識API
- 11. ユーザーIDパターンに一致するJavascript RegExp
- 12. Regexp - 最初の文字から&文字
- 13. キリル文字のためのcsvファイルエンコーディング
- 14. PHP RegExp特定の文字
- 15. CounterPoint 8.3.9とキリル文字のフォント
- 16. キリル文字アルファベットの正規表現
- 17. キリル文字の角モジュールQRコード
- 18. キリル文字入力テキストのみ
- 19. キリル文字タイトルの削除ブランチ
- 20. キリル文字のレスポンステキストを得るには
- 21. Javascript Regexp - 特定のフレーズの後に一致する文字
- 22. MySQLプロシージャ。 LIKEパターンマッチング - キリル文字列
- 23. キリル文字を大文字にする方法は?
- 24. Javascript RegExp:スペース文字を検出するには?
- 25. IE11にキリル文字のXMLノードを作成できません
- 26. JavaScript RegExp:異なる結果:文字列を使用し&regexp "literal"を使用してパターンを作成しましたか?
- 27. Javascriptパターンの構文エラー
- 28. Visual C++のデバッグ出力は????非ラテン文字(キリル文字)の場合
- 29. SkypeのスマイリーREGEXPのパターン/取得方法
- 30. スカラ文字列パターンのベストプラクティス
ユーザーを特定の文字に限定する理由はありますか? –
@マッティ:これはとても良い質問です。通常、入力フィールドを10進数字 '\ p {Nd}'のみに制限するか、 '\ pN'だけ数値に制限するか、数学的数字' \ p {Math} 'のみに制限することが妥当な場合があります'\ pL'のアルファベットのみ、または' \ p {アルファベット} 'のアルファベットのみ、または**特に**すべての1つまたは2つのスクリプトまたは共通のタイプの文字のみです。これは、B≢B≢Вなどのセキュリティ上の落とし穴を回避します(U + 0042ラテン文字大文字B対U + 0392 GREEK大文字BETA対U + 0412 CYRILLIC CAPITAL LETTER VE)。しかし、難しいものもあります。 – tchrist