Mình từng làm rất nhiều dự án cho khách hàng Nhật Bản, cũng từng gặp một số rắc rối không nhỏ trong việc validate dữ liệu. Dưới đây mình sẽ chia sẻ một số kinh nghiệm về Regex thông dụng.

Trường hợp chữ số
Tất cả đều là chữ số (fullwidth)
Tất cả đều là chữ số (halfwidth)
Tất cả đều là chữ số (fullwidth, halfwidth)
Tất cả các số fullwidth (kể cả số âm, số thập phân)
Tất cả các số halfwidth (kể cả số âm, số thập phân)
Trường hợp ký tự thường

Ký tự alphabet halfwidth (chữ thường)
Ký tự alphabet halfwidth (chữ in hoa)
Ký tự alphabet halfwidth (chữ in hoa và chữ thường)
Ký tự alphabet halfwidth và chữ số (chữ in hoa, chữ thường, chữ số)
Ký tự Hiragana fullwidth
Ký tự Katakana fullwidth
Ký tự Hiragana và Katakana fullwidth
Ký tự Kana halfwidth
Ký tự Kanji
Ký tự Hiragana fullwidth và Kanji
Ký tự Hiragana, Katakana fullwidth và Kanji
Trường hợp Email
URL
Trường hợp số điện thoại

Số điện thoại (không có dấu gạch ngang, 10 ký tự)
Số điện thoại (không có dấu gạch ngang, 11 ký tự)
Số điện thoại (không có dấu gạch ngang, 10 hoặc 11 ký tự)
Trường hợp số thẻ tín dụng
Trường hợp Mã bưu chính (postal code)
Mã bưu chính (Có dấu gạch ngang, 3, 5 hoặc 7 chữ số)
Mã bưu chính (Không có dấu gạch ngang, 3 chữ số)
Mã bưu chính (Có dấu gạch ngang, 5 chữ số)
Mã bưu chính (Có dấu gạch ngang, 7 chữ số)
Mã bưu chính (Có hoặc không có dấu gạch ngang)
Kết luận
Khi bạn đã biết về Regular expression, trong nhiều trường hợp ở trên bạn hoàn toàn có thể tự viết được đoạn code của mình (trừ các trường hợp liên quan đến Hiragana hay Katakana). Hi vọng bài có thể giúp bạn đỡ mất thời gian tìm hiểu các đoạn Regular expression của mình.
Xịn, cảm ơn bác
❤️❤️❤️