QLineEdit 使用QValidator 限制各种输入

1. 只能输入英文字符

QRegExpValidator *validator = new QRegExpValidator(QRegExp("[A-Za-z]+"), this); //
ui->lineEdit->setValidator(validator);

2. 只能输入数字0~9

QRegExpValidator *validator1 = new QRegExpValidator(QRegExp("\\d+"), this); //
ui->lineEdit->setValidator(validator1);

3. 只能输入1-100的数字

QIntValidator *validator = new QIntValidator(1, 100, this); // 设置整数范围为1到100
ui->lineEdit->setValidator(validator); 

4. 只能输入设置浮点数范围为0.0到100.0,小数位数为2

QDoubleValidator *validator = new QDoubleValidator(0.0, 100.0, 2, this); // 设置浮点数范围为0.0到100.0,小数位数为2
ui->lineEdit->setValidator(validator); 

5.字母和数字的组合

  QRegExpValidator *validator = new QRegExpValidator(QRegExp("[A-Za-z0-9]+"), this); // 设置模式为字母和数字的组合
   ui->lineEdit->setValidator(validator); 

6.只能输入中文(注意编码格式)

  QRegExpValidator *validator = new QRegExpValidator(QRegExp("^[\u4E00-\u9FA5]+$"), this);
  ui->lineEdit->setValidator(validator);

7.只能输入字母 和特殊字符

   QRegExpValidator *validator = new QRegExpValidator(QRegExp("^[a-zA-Z!@#$%^&*(),.?\":{}|<>]+$"), this);
    ui->lineEdit->setValidator(validator);

8.只能输入字母,数字,特殊字符

QRegExpValidator *validator = new QRegExpValidator(QRegExp(“^[a-zA-Z0-9!@# %^&*()-_+=,.?\":{}|<>]+ ”), this);
ui->lineEdit->setValidator(validator);

9.输入的字符中不能包含有 insert select delete drop 关键字符

	class CustomValidator : public QValidator {
public:
    State validate(QString& input, int& pos) const {
        if (input.contains("select") || input.contains("insert") || input.contains("delete") || input.contains("drop")) {
            return Invalid;
        }
        return Acceptable;
    }
};
	CustomValidator *validator = new CustomValidator();
    ui->lineEdit->setValidator(validator);

你可能感兴趣的:(qt,ui,QLineEdit,QValidator,正则表达式)