Tôi cần biểu thức chính quy chỉ chấp nhận ký tự và dấu cách tiếng Hy Lạp cho trường tên trong biểu mẫu của tôi (PHP). Tôi đã thử một số phát hiện trên mạng nhưng không có may mắn. Bất kỳ trợ giúp sẽ được đánh giá cao.PHP và regexp chỉ chấp nhận các ký tự Hy Lạp theo mẫu
Trả lời
Tôi không quá hiện hành về bảng chữ cái Hy Lạp, nhưng nếu bạn muốn làm điều này với bảng chữ cái La Mã, bạn sẽ làm điều này:
/^[a-zA-Z\s]*$/
Vì vậy, để làm điều này với Hy Lạp, bạn thay thế a
và z
với các chữ cái đầu tiên và cuối cùng của bảng chữ cái Hy Lạp. Nếu tôi nhớ chính xác đoạn Kinh Thánh của tôi, đó là những đoạn α
và ω
. Vì vậy, các mã sẽ là:
/^[α-ωΑ-Ω\s]*$/
gee, điều đó chưa bao giờ xảy ra ... cảm ơn bạn đời. – bikey77
Và khi chữ cái Hy Lạp có các công cụ sửa đổi có ký hiệu ở trên chúng? – blackuprise
@blackuprise - Đó sẽ là một câu hỏi hoàn toàn khác. Đó là nontrivial để đối phó với dấu phụ. –
Hy Lạp & Coptic ở utf-8 dường như là trong U + 0370 - phạm vi U + 03FF. Hãy lưu ý: một không gian, một -
, một .
v.v. không phải là ....
Bảng chữ cái Hy Lạp hiện đại trong UTF-8 nằm trong số U+0386 - U+03CE range.
Vì vậy, các regex bạn cần phải chấp nhận các ký tự Hy Lạp là:
$regex_gr = '/^[\x{0386}-\x{03CE}]+$/u';
hoặc (với không gian)
$regex_gr_with_spaces = '/^[\x{0386}-\x{03CE}\s]+$/u';
Dường như đây gần như là một bản sao/dán của câu trả lời trước đó (6+ tháng trước) ... Nếu có một số cải tiến đáng kể cho câu trả lời trước đó, tốt nhất nên phác thảo/giải thích điều đó. Cảm ơn. – BigBlueHat
giải pháp chữ đầy đủ, với các chữ cái có dấu:
/^[A-Za-zΑ-Ωα-ωίϊΐόάέύϋΰήώ]+$/
Tôi sẽ đề nghị những điều sau đây, ngoài câu trả lời của bạn: '/^[A-Za-zΑ-Ωα-ωίϊΐόάέύϋΰήώ] + $ /'. Lưu ý rằng tôi đã thay đổi phạm vi thứ hai từ 'A-z' thành' a-z'. –
Điều này không bắt các chữ cái Hy Lạp khác. Xem khối Unicode mở rộng tiếng Hy Lạp. – Suragch
Các câu trả lời khác ở đây không hiệu quả với tôi. ký tự Hy Lạp Unicode có trong hai khối sau
- Hy Lạp và Coptic U + 0370 đến U + 03FF (chữ cái Hy Lạp bình thường)
- Hy Lạp mở rộng U + 1F00 đến U + 1FFF (chữ cái Hy Lạp với dấu)
các trận đấu regex toàn bộ từ tiếng Hy Lạp sau:
[\u0370-\u03ff\u1f00-\u1fff]+
tôi sẽ cho người đọc dịch đó để bất cứ định dạng ngôn ngữ lập trình họ có thể được sử dụng.
- 1. Hy Lạp và text-transform: (. Một trong số họ là tiếng Hy Lạp) chữ hoa
- 2. Sử dụng Vim bằng tiếng Hy Lạp
- 3. Chỉ chấp nhận các ký tự bị giới hạn khi sử dụng chấp nhận trong oracle
- 4. Số Hy Lạp và alpha trong nhãn ggplot2
- 5. Tôi làm cách nào để thêm ký tự chữ số và chữ số Hy Lạp vào geom_text() trong ggplot?
- 6. Mẫu Regexp Ký tự tùy chọn
- 7. có một url chấp nhận tất cả các ký tự
- 8. Nhập các chữ cái Hy Lạp, v.v. trong các ô của Python
- 9. Chấp nhận các ký tự tên quốc tế trong RegEx
- 10. Làm thế nào để nhập alpha Hy Lạp dưới Xorg?
- 11. Làm thế nào để làm cho một TextBox chỉ chấp nhận các ký tự chữ cái?
- 12. Plugin xác thực jQuery: chỉ chấp nhận các ký tự chữ cái?
- 13. Vẽ nhãn trục với các biểu tượng Hy Lạp từ một vector
- 14. Làm cách nào để viết đúng các từ tiếng Hy Lạp trong .NET?
- 15. jQuery xác thực plugin: chỉ chấp nhận các chữ cái?
- 16. Cách chỉ định Regexp cho các ký tự cyrillic unicode trong Ruby 1.9
- 17. Làm cách nào để nhập các biểu tượng Hy Lạp như \ beta, \ lambda trong các biểu tượng emacs?
- 18. Nhận chỉ số sử dụng regexp
- 19. cách chấp nhận chứng chỉ tự ký cho kết nối JNDI/LDAP?
- 20. PHP file_exists và ký tự đại diện
- 21. Chỉ chấp nhận yêu cầu nhận/gửi từ localhost
- 22. Perl regexp làm thế nào để thoát khỏi chỉ có một số ký tự
- 23. PHP Regex Bất kỳ ký tự nào
- 24. Mẫu đăng ký PHP
- 25. mẫu chấp nhận trình kết nối
- 26. php strftime Các ký tự tiếng Pháp
- 27. Đăng ký biểu mẫu và xác nhận mã bưu điện
- 28. Làm cách nào để chèn biểu tượng toán học (tiếng Hy Lạp, v.v.) vào tệp dấu chấm
- 29. Móc khóa phụ không chấp nhận chứng chỉ vĩnh viễn
- 30. Phương pháp mở rộng C# - Phân tách chuỗi cũng chấp nhận ký tự thoát
Bất cứ khi nào ai đó cố gắng giới hạn phạm vi nhập liệu như vậy, tôi tự hỏi: Có thực sự là một ý tưởng hay không? Bạn cũng có thể có trường hợp sử dụng hợp lệ, nhưng thường là quá mức cần thiết - hãy tưởng tượng một người có tên không phải Hy Lạp sống ở Hy Lạp hoặc người nước ngoài đang cố nhập địa chỉ tạm thời ở nơi khác trên thế giới, v.v. –
Dù bằng cách nào, bạn nên thêm thông tin: Bộ ký tự nào là dữ liệu mà bạn đang so sánh? UTF-8? –
Bạn đã thử những phát hiện nào? (Khác bạn có thể nhận được cùng một gợi ý tương tự.) – mario