数据验证器
最后更新于:2022-04-02 02:08:56
[TOC]
## 数据验证器
数据验证器可在输入时就进行验证
### InputMask 验证
| Character | Meaning |
| --- | ---|
| A | A-Z, a-z |
| a | 非必须的字母 A-Z, a-z |
| N | A-Z, a-z, 0-9 |
| n | 非必须的 A-Z, a-z, 0-9 |
| X | 任何字符 |
| x | 非必须的任何字符 |
| 9 | 0-9 |
| 0 | 非必须的 0-9|
| D | 1-9 |
| d | 非必须的 1-9|
| # | 非必须的 数字/加号/减号|
| H | 十六进制: A-F, a-f, 0-9 |
| h | 非必须的十六进制 |
| B | 二进制 0-1 |
| b | 非必须的二进制 |
| > | 输入的数字自动转大写 |
| < | 输入的数字自动转小写 |
| ! | Switch off case conversion. |
| [ ] { } | Reserved. |
| \ | 转移字符 |
示例:
| Mask | Notes|
|---|---|
| 000.000.000.000;_ | IP地址;空是_|
| HH:HH:HH:HH:HH:HH;_ | MAC 地址 |
| 0000-00-00 | ISO Date; blanks are space |
| >AAAAA-AAAAA-AAAAA-AAAAA-AAAAA;# | License number; blanks are - and all (alphabetic) characters are converted to uppercase.|
### 验证器
常用验证器
```
QIntValidator
QDoubleValidator
QRegExpValidator
```
实例
```
// 限制整数
ui->lineEdit_2->setValidator( new QIntValidator(10,20,this));
// 限制 ipv4
QRegExp exp("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$");
ui->lineEdit_2->setValidator( new QRegExpValidator(exp));
```
';