<h2>1. Number Validation Patterns</h2> <pre> 1. Any number: ^\d*$ 2. Exactly n digits: ^\d{n}$ (\d is equivalent to [0-9]) 3. At least n digits: ^\d{n,}$ 4. m to n digits: ^\d{m,n}$ 5. Zero or a number without leading zeros: ^(0|[1-9]\d*)$ 6. Non-zero with up to two decimal places: ^([1-9]\d*)+(\.\d{1,2})?$ 7. Positive or negative number with 1-2 decimals: ^\-?\d+(\.\d{1,2})?$ 8. Positive, negative, or decimal: ^[\-+]?\d+(\.\d+)?$ 9. Positive real with two decimals: ^\d+(\.\d{2})?$ 10. Positive real with 1-3 decimals: ^\d+(\.\d{1,3})?$ 11. Non-zero positive integer: ^[1-9]\d*$ or ^\+?[1-9]\d*$ 12. Non-zero negative integer: ^\-[1-9]\d*$ 13. Non-negative integer: ^\d+$ or ^([1-9]\d*|0)$ 14. Non-positive integer: ^(-\d+|0+)$ 15. Non-negative float: ^\d+(\.\d+)?$ or ^([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ 16. Non-positive float: ^(-\d+(\.\d+)?|0+(\.0+)?)$ 17. Positive float: ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$ 18. Negative float: ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$ 19. Float: ^-?\d+(\.\d+)?$ or ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$ </pre> <h2>2. Character Validation Patterns</h2> <pre> 1. Chinese characters: ^[\u4e00-\u9fa5]{0,}$ 2. Letters and digits: ^[A-Za-z\d]+$ or ^[A-Za-z\d]{4,40}$ 3. Any characters, length 3-20: ^.{3,20}$ 4. Letters only: ^[A-Za-z]+$ 5. Uppercase letters: ^[A-Z]+$ 6. Lowercase letters: ^[a-z]+$ 7. Letters and digits: ^[A-Za-z\d]+$ 8. Letters, digits, or underscore: ^\w+$ or ^\w{3,20}$ 9. Chinese, letters, digits, underscore: ^[\u4E00-\u9FA5A-Za-z\d_]+$ 10. Chinese, letters, digits (no underscore): ^[\u4E00-\u9FA5A-Za-z\d]+$ 11. Allows ^%&',;=?$" etc: [^%&',;=?$\x22]+ 12. Disallows ~ character: [^~\x22]+ </pre> <h2>3. Special Requirement Patterns</h2> <pre> 1. Email address: ^([a-zA-Z\d_-])+@([a-zA-Z\d_-])+(\.[a-zA-Z\d_-])+ (Allows letters, digits, underscores, hyphens) 2. Domain: [a-zA-Z\d][-a-zA-Z\d]{0,62}(\.[a-zA-Z\d][-a-zA-Z\d]{0,62})+ 3. URL: [a-zA-z]+://[^\s]* or ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 4. Mobile phone (China): ^1(?:3\d|4[4-9]|5[0-35-9]|6[67]|7[013-8]|8\d|9\d)\d{8}$ 5. Phone number (with optional area code): ^(\(\d{3,4}\)|\d{3,4}-)?\d{7,8}$ 6. Landline (China, e.g., 0511-4405222): \d{3}-\d{8}|\d{4}-\d{7} 7. ID number (15 or 18 digits): ^(\d{15}|\d{18})$ 8. Short ID number (digits, optional x): ^\d{7,18}[xX]?$ 9. Account (letter start, 5-16 chars, letters, digits, underscore): ^[a-zA-Z][a-zA-Z\d_]{4,15}$ 10. Password (letter start, 6-18 chars, letters, digits, underscore): ^[a-zA-Z]\w{5,17}$ 11. Strong password (must contain upper, lower, digit, 8-10 chars): ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$ 12. Date (yyyy-mm-dd): ^\d{4}-\d{1,2}-\d{1,2} 13. Month (01-12): ^(0?[1-9]|1[0-2])$ 14. Day of month (01-31): ^((0?[1-9])|((1|2)\d)|30|31)$ 15. Currency amount (no comma, up to two decimals): ^\d+(\.\d{1,2})?$ 16. Currency with comma grouping: ^\d{1,3}(,\d{3})*(\.\d{1,2})?$ 17. XML file: ^([a-zA-Z]+-?)+[a-zA-Z\d]+\.[xX][mM][lL]$ 18. Chinese characters (Unicode): [\u4e00-\u9fa5] 19. Double-byte characters: [^\x00-\xff] 20. Blank line: \n\s*\r 21. Simple HTML tag: <(\S*?)[^>]*>.*?</\1>|<.*? /> 22. Trim leading/trailing whitespace: ^\s*|\s*$ 23. QQ number (starts from 10000): [1-9]\d{4,} 24. Chinese postal code: [1-9]\d{5}(?!\d) 25. IP address (simple): \d+\.\d+\.\d+\.\d+ 26. IP address (strict): ((?:(?:25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d?\d)) </pre>
Commonly Used Regular Expression Patterns
Posted on Tue, 07 Jul 2026 16:20:56 +0000 by mamoman