Tôi có một số xác thực cơ bản cho tên người dùng bằng cách sử dụng cụm từ thông dụng, chẳng hạn như [\w-_]+
và tôi muốn thêm hỗ trợ cho bảng chữ cái tiếng Hàn, trong khi vẫn giữ nguyên xác thực.Tôi làm cách nào để khớp các ký tự tiếng Hàn trong biểu thức chính quy Ruby?
Tôi không muốn cho phép các ký tự đặc biệt, chẳng hạn như {}[][email protected]#$%^&*()
v.v., tôi chỉ muốn thay thế \w
bằng thứ gì đó khớp với một bảng chữ cái đã cho ngoài số [a-zA-Z0-9]
.
Điều đó có nghĩa là tên người dùng như 안녕
phải hợp lệ, nhưng không phải là 안녕[]
.
Tôi cần thực hiện việc này trong Ruby 1.9.
Xem bên dưới - bạn nên mở rộng regex sang/[^ a-zA-Z0-9 \ p {Hangul} \ p {Han}]/để cũng có thể chụp các tên như 姓. Ngoài ra, regex này vẫn không hỗ trợ tên với dấu gạch ngang trong chúng, như So-Young Kim. – Sprachprofi
Câu hỏi yêu cầu ký tự/bảng chữ cái Hàn Quốc. Tên Hàn Quốc với các ký tự Trung Quốc là mới đối với tôi. Nhưng OP đề cập đến tên người dùng, không phải tên thật, và tôi đoán anh ta đang thiết lập các quy tắc. – steenslag
\ p {Han} phổ biến với tiếng Hàn, tiếng Nhật và tiếng Trung. Hầu như tất cả các tên Hàn Quốc được sử dụng để viết trong Hanja và họ vẫn còn phổ biến trên danh thiếp. Chúng ít phổ biến hơn trên mạng, nhưng không tốt cho doanh nghiệp khi nói với mọi người rằng tên hộ chiếu của họ không phải là tên hợp lệ. Xem thêm http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/ – Sprachprofi