I. Biểu thức kiểm tra số học
1. Số nguyên: ^[0-9]*$
2. Số có n chữ số: ^\d{n}$
3. Số có ít nhất n chữ số: ^\d{n,}$
4. Số có từ m đến n chữ số: ^\d{m,n}$
5. Số nguyên dương hoặc 0: ^(0|[1-9][0-9]*)$
6. Số thập phân không quá 2 chữ số: ^([1-9][0-9]*)+(\.[0-9]{1,2})?$
7. Số thập phân có 1-2 chữ số: ^(\-)?\d+(\.\d{1,2})?$
8. Số thực bao gồm cả âm: ^(\-|\+)?\d+(\.\d+)?$
9. Số dương có 2 chữ số thập phân: ^[0-9]+(.[0-9]{2})?$
10. Số dương có 1-3 chữ số thập phân: ^[0-9]+(.[0-9]{1,3})?$
11. Số nguyên dương khác 0: ^[1-9]\d*$ hoặc ^([1-9][0-9]*){1,3}$ hoặc ^\+?[1-9][0-9]*$
12. Số nguyên âm khác 0: ^-[1-9][0-9]*$ hoặc ^-[1-9]\d*$
13. Số không âm: ^\d+$ hoặc ^[1-9]\d*|0$
14. Số không dương: ^-[1-9]\d*|0$ hoặc ^((-\d+)|(0+))$
15. Số thập phân không âm: ^\d+(\.\d+)?$ hoặc ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16. Số thập phân không dương: ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ hoặc ^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17. Số thập phân dương: ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ hoặc ^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18. Số thập phân âm: ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ hoặc ^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19. Số thực bất kỳ: ^(-?\d+)(\.\d+)?$ hoặc ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
II. Biểu thức kiểm tra ký tự
1. Ký tự tiếng Trung: ^[\u4e00-\u9fa5]{0,}$
2. Ký tự chữ và số: ^[A-Za-z0-9]+$ hoặc ^[A-Za-z0-9]{4,40}$
3. Chuỗi có độ dài 3-20: ^.{3,20}$
4. Chuỗi chỉ chứa chữ Latin: ^[A-Za-z]+$
5. Chuỗi chữ Latin viết hoa: ^[A-Z]+$
6. Chuỗi chữ Latin viết thường: ^[a-z]+$
7. Chuỗi chữ và số: ^[A-Za-z0-9]+$
8. Chuỗi chứa chữ, số và gạch dưới: ^\w+$ hoặc ^\w{3,20}$
9. Ký tự hỗn hợp Trung-An-Số-Gạch dưới: ^[\u4E00-\u9FA5A-Za-z0-9_]+$
10. Ký tự Trung-An-Số (không gạch dưới): ^[\u4E00-\u9FA5A-Za-z0-9]+$ hoặc ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
11. Cho phép ký tự đặc biệt: [^%&',;=?$\x22]+
12. Cấm ký tự ~: [^~\x22]+
III. Biểu thức đặc biệt
1. Địa chỉ email: ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
2. Tên miền: [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
3. URL: [a-zA-z]+://[^\s]* hoặc ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
4. Số điện thoại di động: ^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$ (Gợi ý: ^([1][3,4,5,6,7,8,9])\d{9}$)
5. Số điện thoại cố định: ^(\$\d{3,4}-)|\d{3.4}-)?\d{7,8}$
6. Số điện thoại nội địa: \d{3}-\d{8}|\d{4}-\d{7}
7. CMND 18 chữ số: ^((\d{18})|([0-9x]{18})|([0-9X]{18}))$
8. Tài khoản hợp lệ: ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
9. Mật khẩu cơ bản: ^[a-zA-Z]\w{5,17}$
10. Mật khẩu mạnh: ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
11. Định dạng ngày: ^\d{4}-\d{1,2}-\d{1,2}
12. Tháng hợp lệ: ^(0?[1-9]|1[0-2])$
13. Ngày hợp lệ: ^((0?[1-9])|((1|2)[0-9])|30|31)$
14. Định dạng tiền tệ:
15. 1. Định dạng 10000.00 hoặc 10,000.00: ^[1-9][0-9]*$
16. 2. Sửa lỗi 0: ^(0|[1-9][0-9]*)$
17. 3. Cho phép âm: ^(0|-?[1-9][0-9]*)$
18. 4. Định dạng thập phân: ^[0-9]+(.[0-9]+)?$
19. 5. Yêu cầu 2 chữ số thập phân: ^[0-9]+(.[0-9]{2})?$
20. 6. Linh hoạt 1-2 chữ số thập phân: ^[0-9]+(.[0-9]{1,2})?$
21. 7. Định dạng có dấu phẩy: ^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$
22. 8. Định dạng hoàn chỉnh: ^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$
23. Ghi chú: Loại bỏ ký tự \ khi sử dụng
24. Tập tin XML: ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
25. Ký tự tiếng Trung: [\u4e00-\u9fa5]
26. Ký tự hai byte: [^\x00-\xff]
27. Dòng trống: \n\s*\r
28. Tag HTML: <(\S*?)[^>]*>.*?</\1>|<.*? />
29. Khoảng trắng đầu/cuối: ^\s*|\s*$ hoặc (^\s*)|(\s*$)
30. Số QQ: [1-9][0-9]{4,}
31. Mã bưu điện: [1-9]\d{5}(?!\d)
32. Địa chỉ IP: \d+\.\d+\.\d+\.\d+
33. Định dạng IP: ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))
| Ký hiệu |
Mô tả |
| \ |
Ký hiệu đặc biệt |
| ^ |
Bắt đầu chuỗi |
| $ |
Kết thúc chuỗi |
| * |
Lặp lại 0-n lần |
| + |
Lặp lại 1-n lần |
| ? |
Lặp lại 0-1 lần |
| {n} |
Lặp lại n lần |
| {n,} |
Lặp lại ít nhất n lần |
| {n,m} |
Lặp lại từ n đến m lần |
| ? (sau toán tử) |
Chế độ tham lam tối thiểu |
| . |
Ký tự bất kỳ (trừ \n,\r) |
| (pattern) |
Nhóm bắt buộc |
| (?:pattern) |
Nhóm không lưu trữ |
| (?=pattern) |
Kiểm tra phía trước |
| (?!pattern) |
Phủ định phía trước |
| (?<=pattern) |
Kiểm tra phía sau |
| (?<!pattern) |
Phủ định phía sau |
| x|y |
Lựa chọn x hoặc y |
| [xyz] |
Tập hợp ký tự |
| [^xyz] |
Tập hợp phủ định |
| [a-z] |
Khoảng ký tự |
| [^a-z] |
Phủ định khoảng ký tự |
| \b |
Biên từ |
| \B |
Không phải biên từ |
| \d |
Ký tự số |
| \D |
Không phải ký tự số |
| \s |
Khoảng trắng |
| \S |
Không phải khoảng trắng |
| \w |
Ký tự chữ/number/underscore |
| \W |
Phủ định \w |
| \p{P} |
Ký tự dấu câu Unicode |
| <> |
Biên từ chính xác |