Potrzebuję wyrażenia regularnego, które akceptuje tylko znaki i spacje greckie dla pola nazwy w mojej formie (PHP). Próbowałem już kilku odkryć w Internecie, ale bez powodzenia. Każda pomoc zostanie doceniona.PHP i wyrażenie regularne, aby akceptować tylko znaki greckie w formularzu
Odpowiedz
Nie jestem też obecny na alfabetu greckiego, ale jeśli chcesz to zrobić z alfabetu łacińskiego, by to zrobić:
/^[a-zA-Z\s]*$/
Więc to zrobić z greckiego i wymienić a
z
z pierwszą i ostatnią literą alfabetu greckiego. Jeśli dobrze pamiętam moje fragmenty biblijne, są to: α
i ω
. Więc kod byłoby:
/^[α-ωΑ-Ω\s]*$/
gee, to nigdy nie nastąpiło ... dzięki kolego. – bikey77
A kiedy greckie litery mają modyfikatory ze znakiem nad nimi? – blackuprise
@blackkuprise - To byłoby zupełnie inne pytanie. To nie jest w porządku zajmować się znakami diakrytycznymi. –
grecki & koptyjski w UTF-8 wydaje się być w U + 0370 - zakres U + 03FF. Uwaga: spacja, -
, .
itp. Nie są ....
Nowoczesny alfabet grecki w UTF-8 znajduje się w U+0386 - U+03CE range.
Więc regex trzeba przyjmować tylko greckich znaków jest:
$regex_gr = '/^[\x{0386}-\x{03CE}]+$/u';
lub (ze spacjami)
$regex_gr_with_spaces = '/^[\x{0386}-\x{03CE}\s]+$/u';
Wygląda na to, że jest to prawie kopia/wklej wcześniejszej (6 miesięcy wcześniej) odpowiedzi ... Jeśli jest jakaś znaczna poprawa w stosunku do wcześniejszej odpowiedzi, najlepiej będzie ją opisać/wyjaśnić. Dzięki. – BigBlueHat
pełne rozwiązanie literami, z akcentowanych liter:
/^[A-Za-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+$/
Proponuję oprócz odpowiedzi dodać: '/^[A-Za-zΑ-Ωα-ωίϊΐόάέύϋΰήώ] + $ /'. Zauważ, że zmieniłem drugi zakres z "A-z" na "a-z". –
To nie łapie innych akcentów greckiej litery. Zobacz blok Rozszerzony grecki kod Unicode. – Suragch
Inne odpowiedzi tutaj nie działały dla mnie. znaków grecki Unicode są zawarte w następujących dwóch bloków
- greckie i koptyjski U + 0370 do U + 03FF (normalny greckie litery)
- Grecki rozszerzony U + 1F00 do U + 1FFF (greckich liter ze znakami diakrytycznymi)
Poniższe wyrażenie regularne odpowiada całe greckie słowa:
[\u0370-\u03ff\u1f00-\u1fff]+
dam czytelnik tłumaczyć, że do formatu Niezależnie od języka programowania mogą być one używane.
- 1. PHP wyrażenie regularne, aby dopasować filepath
- 2. Wyrażenie regularne PHP, aby dopasować słowa
- 3. Wyrażenie regularne, aby sprawdzić Dozwolone znaki nie działa w Javie
- 4. Wyrażenie regularne, aby dopasować wszystkie znaki do następnego dopasowania.
- 5. Wyrażenie regularne Sanitize (PHP)
- 6. Wyrażenie regularne, które zezwala tylko na znaki lub przestrzeń.
- 7. Wyrażenie regularne pasujące wieloplatformowym znaki nowej linii
- 8. wyrażenie regularne: wypakuj ostatnie 2 znaki
- 9. wyrażenie regularne, aby umożliwić tylko cyfry w przedziale 1-20
- 10. Wyrażenie regularne pasujące tylko do liter
- 11. Wyrażenie regularne lookbehind problemem
- 12. Wyrażenie regularne, aby zatrzymać w pierwszym meczu
- 13. Wyrażenie regularne odpowiadające ciągom znaków alfanumerycznym, spacje i znaki interpunkcyjne
- 14. Jak wstawić greckie znaki w tabeli sqlserver
- 15. Wyrażenie regularne zawierające wszystkie znaki klawiatury z wyjątkiem "~" i ","
- 16. Wyrażenie regularne w PHP z preg_match_all
- 17. Wyrażenie regularne do analizowania CSV w PHP
- 18. Emacs: wyrażenie regularne zastąpienie aby zmienić wielkość
- 19. PHP Wyrażenie regularne zastąpić link URL
- 20. Perl Split i wyrażenie regularne
- 21. Wyrażenie regularne dla liczb arabskich
- 22. Ustaw QLineEdit, aby akceptować tylko numery
- 23. php zamień wyrażenie regularne zamiast zastępowania ciągu
- 24. Wyrażenie regularne obciąć ciąg
- 25. Wyrażenie regularne do akceptowania tylko liczb dodatnich i liczb dziesiętnych
- 26. C# Wyrażenie regularne, aby dopasować litery, cyfry i podkreślenie
- 27. Wyrażenie regularne tylko dla jednego znaku
- 28. Wyrażenie regularne, aby dopasować C plik #include
- 29. Wyrażenie regularne, aby dopasować dwa oddzielne wyrażenia
- 30. Wyrażenie regularne - rozpoczęcie i zakończenie ciągiem znaków
Ilekroć ktoś próbuje tak ograniczyć zakres wejściowy, zadaję sobie pytanie: czy to naprawdę dobry pomysł? Możesz mieć ważny przypadek użycia, ale często jest to przesada - wyobraźmy sobie osobę z nie-grecką nazwą mieszkającą w Grecji lub obcokrajowca próbującego wprowadzić tymczasowy adres w innym miejscu na świecie itp. Itd. –
Tak czy inaczej, powinien dodać więcej informacji: jaki zestaw znaków to dane, które porównujesz? UTF-8? –
Jakie wyniki wypróbowałeś? (Inaczej możesz uzyskać te same sugestie.) – mario