
以下是通用数据校验正则表达式整理,包含你提供常见使用场景的数字类规则、字符串、日期、网络地址等,方便日常开发使用:
一、数字类校验(包含你提供的规则)
|-----------------|-----------------------------------------------------------------------------------------|--------------------------------------|
| 校验场景 | 正则表达式 | 说明 |
| 1. 纯数字 | ^[0-9]$ | 单个数字(0-9) |
| 2. n位数字 | ^\d{n}$ | 固定n位数字(如^\d{3}$匹配3位数字) |
| 3. 至少n位数字 | ^\d{n,}$ | 位数≥n(如^\d{2,}$匹配2位及以上数字) |
| 4. m-n位数字 | ^\d{m,n}$ | 位数在m到n之间(如^\d{2,4}$匹配2-4位数字) |
| 5. 零或非零开头的数字 | ^0|[1-9][0-9]*$ | 允许"0"或"非0开头的正整数" |
| 6. 非零开头、最多两位小数 | ^[1-9][0-9]*(\.[0-9]{1,2})?$ | 整数部分非0开头,小数部分最多2位(如123、123.4、123.45) |
| 7. 带1-2位小数的正/负数 | ^(-?)d+(\.\d{1,2})?$(修正:^(-?)\d+(\.\d{1,2})?$) | 允许正负整数、正负1-2位小数(如-123、123.4、-123.45) |
| 8. 正/负数、小数 | ^(-|\+)?d+(\.\d+)?$(修正:`^(- | \+)?\d+(\.\d+)?\`) |
| 9. 两位小数的正实数 | `^[0-9]+(\.[0-9]{2})? | 正整数或带2位小数的正数(如123、123.45) | | 10. 1-3位小数的正实数 | ^[0-9]+(.[0-9]{1,3})?` | 正整数或带1-3位小数的正数(如123、123.4、123.456) |
| 11. 非零正整数 | `^[1-9]\d* 或 ^[1-9][0-9]` 或 `^\+?[1-9][0-9]* | 非0开头的正整数(如1、123) | | 12. 非零负整数 | ^-[1-9][0-9]` 或 `^-[1-9]\d* | 非0开头的负整数(如-1、-123) | | 13. 非负整数 | ^\d+` 或 `^[1-9]\d*|0 | 正整数或0(如0、123) | | 14. 非正整数 | ^-[1-9]\d*|0` 或 `^(-\d+)|(0+) | 负整数或0(如0、-123) | | 15. 非负浮点数 | ^\d+(.\d+)?` 或 `^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0 | 正小数、正整数、0(如0、123、123.45) | | 16. 非正浮点数 | ^(-\d+(.\d+)?)?(0+(.0+)?)?` 或 `^(-[1-9]\d*\.\d*|0\.\d*[1-9]\d*)|0?\.0+|0 | 负小数、负整数、0(如0、-123、-123.45) | | 17. 正浮点数 | ^[1-9]\d*.\d*|0.\d*[1-9]\d*` 或 \`\^((\[0-9\]+\\.\[0-9\]*\[1-9\]\[0-9\]*) | (\[0-9\]*\[1-9\]\[0-9\]*\\.\[0-9\]+) |
| 18. 负浮点数 | `^-[1-9]\d*\.\d*|0\.\d*[1-9]\d* 或 \^(-(([0-9]+\.[0-9][1-9][0-9]) | ([0-9][1-9][0-9]\.[0-9]+) |
| 19. 浮点数 | ^(-?\d+)(\.\d+)?$ 或 ^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*)|0?\.0+|0$ | 正负整数、正负小数、0(如-123、0、123.45) |
二、字符串类校验
|--------------|---------------------------------------------|---------------------|
| 校验场景 | 正则表达式 | 说明 |
| 1. 纯字母(大小写) | ^[A-Za-z]+$ | 仅包含英文字母(如abc、ABC) |
| 2. 纯中文 | ^[\u4e00-\u9fa5]+$ | 仅包含中文字符(如"你好") |
| 3. 字母+数字 | ^[A-Za-z0-9]+$ | 仅包含英文字母和数字(如abc123) |
| 4. 字母+数字+下划线 | ^\w+$ (等价于^[A-Za-z0-9_]+$) | 匹配"单词字符"(如abc_123) |
| 5. 不包含特殊字符 | ^[A-Za-z0-9\u4e00-\u9fa5]+$ | 仅包含字母、数字、中文(无特殊符号) |
| 6. 固定长度字符串 | ^.{n}$ (如^.{5}$匹配5个任意字符) | 长度固定为n的字符串 |
| 7. 长度范围字符串 | ^.{m,n}$ (如^.{2,5}$匹配2-5个任意字符) | 长度在m到n之间的字符串 |
三、日期/时间类校验
|-------------------|----------------------|---------------------|
| 校验场景 | 正则表达式 | 说明 |
| 1. 日期(yyyy-MM-dd) | `^\d{4}-(0[1-9] | 1[0-2])-(0[1-9] |
| 2. 日期(yyyy/MM/dd) | `^\d{4}/(0[1-9] | 1[0-2])/(0[1-9] |
| 3. 时间(HH:mm:ss) | `^(0[0-9] | 1[0-9] |
| 4. 时间(HH:mm) | `^(0[0-9] | 1[0-9] |
四、网络/地址类校验
|---------------|-------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| 校验场景 | 正则表达式 | 说明 |
| 1. 邮箱地址 | ^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ | 标准邮箱格式(如test@example.com) |
| 2. 手机号(国内) | ^1[3-9]\d{9}$ | 国内11位手机号(如13800138000) |
| 3. IP地址(IPv4) | `^((25[0-5] | 2[0-4]\d |
| 4. URL(网址) | ^(http|https):\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?$ | 以http/https开头的网址(如https://www.example.com) |
五、注意事项
- 正则表达式中的特殊符号(如
|、()需根据语言转义(如C#中需用\\代替\); - 部分规则(如日期)仅做格式校验,如需精准合法性(如2月30日)需结合业务代码;
- 使用时可根据实际场景调整规则(如手机号可补充国际号码格式)。