Asked Sep 17th, 2019 4:11 a.m. 870 1 2
  • 870 1 2
+1

Javascript regex FULL SIZE

Share
  • 870 1 2

E đang cần validate client sử dụng regex FULL SIZE mà passed các case sau ạ:

プロジェクト
project
PROJECT
Project

Ai đã từng làm giúp e với ạ, thanks!

2 ANSWERS


Answered Sep 17th, 2019 4:25 a.m.
Accepted
+8

Về cơ bản thì bạn có thể check các block Unicode tương ứng với các kí tự full size để tìm ra được regex thoả mãn. Ví dụ: プロジェクト là katakana full size (https://en.wikipedia.org/wiki/Katakana_(Unicode_block)) thì các kí tự sẽ nằm trong khoảng từ U+30A0 đến U+30FF.

Ta có thể viết thành regex [\u30A0-\u30FF] để bắt các kí tự trong khoảng này.

Demo: https://www.regextester.com/?fam=111446

Tương tự cho: alphanumberic full size (https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block)) hoặc bất kỳ block Unicode nào khác.

Share
Avatar Nam @Black.Box
Sep 25th, 2019 8:50 a.m.

Vâng ạ, e cảm ơn anh.

0
| Reply
Share
Answered Sep 17th, 2019 4:20 a.m.
+1

Có bắt buộc phải là 4 trường hợp trên k bạn. Ví dụ PRoject có được tính là 1 case k?

Nếu được thì bạn có thể dùng | thêm option i để k phân biệt hoa thường

/project|プロジェクト/i

https://regex101.com/r/aIDP4R/1

Share
Sep 18th, 2019 8:44 a.m.

Viết hẳn ký tự Nhật vào trong regex chưa chắc đã chạy đâu em. 😅 Nên check theo mã Unicode như anh @vigov5 ở trên ổn hơn. 🤔

+1
| Reply
Share
Avatar Bùi Hiếu @buihieubthc2rb
Sep 18th, 2019 1:51 p.m.

@huukimit viết như Hà có thể được nhưng phải dùng option là /u bên dự án đang lỗi cái này :v

+1
| Reply
Share
Avatar Hải Hà @HaiHaChan
Sep 19th, 2019 4:11 a.m.
0
| Reply
Share
Avatar Nam @Black.Box
Sep 25th, 2019 8:51 a.m.

Cảm ơn bạn, để mình thử.

0
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.