Regex zum überprüfen der input-string ist nur in der Persischen Sprache
Ich arbeite mit MVC und ich bin neu auf es. Ich will check input-Werte ist nur in persischer Sprache (Zeichen) [RegularExpression]
Validierung.
Also ich finde Regex zu verwenden und müssen die check-in-Bereich des unicodes, aber ich don ' T lnow how finden Reihe von Persischen Unicode-Zeichen. Bin ich im Recht, über diese Regex? was ist Ihr Vorschlag, wie kann ich Unicode in der Persischen
- Ich sehe nicht ein, warum würden Sie brauchen einen regex um zu prüfen, ob ein Zeichen innerhalb eines bestimmten Bereichs.
- Zeichen != Sprache. Für Beispiel, 'hdafhladf' ist nicht Englisch. Und ich bin sicher, es gibt einige Zeichen, die nicht offiziell klassifiziert als "Persisch", sondern dürfen in der Persischen Sprache (vielleicht whitespace-Zeichen?)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Persischen Zeichen sind innerhalb der Reihe:
[\u0600-\u06FF]
Versuchen:
[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF]
ist besser. siehe stackoverflow.com/a/22565376/896465Check erste Buchstabe und der Letzte Buchstabe Angebot in persischer ich denke, so etwas wie dieses:
0622
undی
codepoint ist06CC
undArabic Letter Khah
خ
ist062E
. So ist es inbegriffen in den genannten Bereich. Das ist richtig mitپ
zu. BTW, warum haben Sie nicht aktualisieren Sie Ihr blog seit Jahren?[آ-ی]
Sie nicht zulassen, dassء
,،
,؛
,۰-۹
,... (regex101.com/r/rM1TnT/1), aber in[\u0600-\u06FF]
können Sie weitere Zeichen: (regex101.com/r/rM1TnT/2) natürlich hängt das von den Bedürfnissen des Benutzers. Und über meinen blog, Danke, ich habe keine Antwort für Sie! 😀 vielleicht war es der talisman !!! 😉[a-z]
(es bedeutet, dass Buchstaben nur). Aber[آ-ی]
enthält Arabische Ziffern zu und hat viel mehr Zeichen als in einigen Persischen Bedürfnisse der Nutzer. Zweite Reihe[\u0600-\u06FF]
umfasst auch die überflüssigen Zeichen und Symbole, die können wir nicht nennen es Farsi. Ich gepostet, eine Antwort auf die aktuelle Seite und mit mehr details hier über dieses Thema, das Sie sehen möchten.Diese Enthalten Nur standard-Arabisch Symbole Sortiment, Sondern Persisch gehören auch 4 Weitere Zeichen:
So, Die Sie Verwenden Sollten:
Wenn Sie wollen-match-Zero-width-non-joiner sollten Sie auch dies:
0600
durch06FF
gehören067E
,0686
und06AF
offensichtlich. Sie brauchen nicht, Sie zu wiederholen.Ich diese RegExp in meinem Programm, und es funktioniert einwandfrei. hoffe auf Hilfe Sie:
TL;DR
Alle Antworten, die sagen, verwendet
\u0600-\u06FF
oder[آ-ی]
sind einfach FALSCH.Farsi MÜSSEN die verwendeten Zeichensätze sind wie folgt:
Verwenden
^[آابپتثجچحخدذرزژسشصضطظعغفقکگلمنوهی]+$
für Briefe.Verwenden
^[۰۱۲۳۴۵۶۷۸۹]+$
für zahlen.Verwenden
[ ٌ ًّ َ ِ ُ ْ ]
für Vokale.Oder eine union von denen. Sie können hinzufügen, andere Arabische Buchstaben wie Hamza
ء
zu Ihrem Charakter einstellen.Diese Antwort ist fix ein weit verbreitetes Missverständnis. Codepoints
0600
durch06FF
nicht bezeichnen Persisch /Farsi-alphabet (auch nicht[آ-ی]
):255 Zeichen sind, fallen in diesen Bereich, die Farsi-alphabet hat 32 Buchstaben, die neben Farsi demonstration von Ziffern es wäre 42. Wenn wir Vokale (Arabisch Vokale ursprünglich, die nur selten verwendet, in Farsi) und Tanvin (
ً
,ٍِ
,ٌ
) und Tashdid (ّ
), die beide eine Teilmenge der Arabische diakritische Zeichen nicht Farsi, würden wir am Ende mit 46 Zeichen. Das bedeutet:\u0600-\u06FF
enthält 209 Zeichen mehr, als Sie brauchen!۷
mit codepoint06F7
ist ein Farsi Darstellung der Anzahl7
und٧
mit codepoint0667
ist Arabisch Darstellung von der gleichen Nummer.۶
ist Farsi Darstellung der Anzahl6
und٦
ist Arabisch Darstellung von der gleichen Nummer. Und alle wohnen in0600
durch06FF
codepoints.Können Sie sehen, unterschiedliche Anzahl von anderen Zeichen, die nicht vorhanden ist in Farsi /Persisch zu und niemand ist bereit, Sie zu haben, während der Validierung eine vor-oder Nachnamen.
[آ-ی]
umfasst 117 Zeichen zu, das ist viel mehr als das, was jemand braucht, für die Validierung. Sie können sehen, wie Sie alle mit Unicode CLDR.Persischen Zeichen sind innerhalb der Reichweite: [\u0600-\u06FF] + [\s]
Versuchen:
Diesem Patern Buchstaben Enthält und Raum Charachters.