Qt 正则表达式检测密码格式

前端之家收集整理的这篇文章主要介绍了Qt 正则表达式检测密码格式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

关键词:Qt 正则表达式 QRegExp QMessageBox

1、建立Qt Application工程,设计UI[一个输入框,一个按钮];

2、Widget.h文件

@H_403_29@@H_403_29@@H_403_29@@H_403_29@@H_403_29@@H_403_29@@H_403_29@@H_403_29@ @H_403_29@#ifndefWIDGET_H

 #define WIDGET_H
 
 #include <QWidget> 
 #include <QRegExp> 
 #include <QMessageBox> 
 
 namespace Ui { 
 @H_403_29@ @H_403_29@ @H_403_29@ class Widget; 
 } 
 
 class Widget : public QWidget 
 { 
 @H_403_29@ @H_403_29@@H_403_29@ Q_OBJECT 
 
@H_403_29@ @H_403_29@@H_403_29@ public: 
 @H_403_29@ @H_403_29@ @H_403_29@explicit Widget(QWidget *parent = 0); 
 @H_403_29@ @H_403_29@ ~Widget(); 
 
@H_403_29@ @H_403_29@private: 
 @H_403_29@ @H_403_29@ @H_403_29@ Ui::Widget *ui; 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@QRegExp rx; 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@QMessageBox msgBox; 
@H_403_29@ @H_403_29@private: 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@void init(); //初始化函数 
 
@H_403_29@ @H_403_29@private slots: 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@void checkPwd(); 
@H_403_29@}; 
 
 #endif // WIDGET_H 
 

3、Widget.cpp

@H_403_29@ @H_403_29@ #include "widget.h"

@H_403_29@ @H_403_29@ #include "ui_widget.h"

 
@H_403_29@ @H_403_29@ Widget::Widget(QWidget *parent) : 
 @H_403_29@ @H_403_29@ QWidget(parent), 
 @H_403_29@ @H_403_29@ui(new Ui::Widget) 
@H_403_29@ @H_403_29@{ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ ui->setupUi(this); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@this->init(); 
@H_403_29@ @H_403_29@} 
 
@H_403_29@ @H_403_29@Widget::~Widget() 
@H_403_29@ @H_403_29@{ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ delete ui; 
@H_403_29@ @H_403_29@} 
 
@H_403_29@ @H_403_29@ void Widget::init() 
@H_403_29@ @H_403_29@{ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ //建立信号和响应函数 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@connect(ui->pushButton,SIGNAL(clicked()),SLOT(checkPwd())); 
 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@rx.setPatternSyntax(QRegExp::RegExp); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@//对大小写字母敏感,即区分大小写 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@rx.setCaseSensitivity(Qt::CaseSensitive); 
 @H_403_29@ @H_403_29@ @H_403_29@ //匹配格式为所有大小写字母和数字组成的字符串,位数不限 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@rx.setPattern(QString("^[A-Za-z0-9]+$")); 
@H_403_29@ } 
 
@H_403_29@ @H_403_29@void Widget::checkPwd() 
@H_403_29@ @H_403_29@{ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@QString pwd = ui->lineEdit->text(); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@if(pwd.isEmpty())  //检测密码输入框是不是为空 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@{ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ui->label2->setText("Password cant be empty!");  
 @H_403_29@ @H_403_29@ @H_403_29@@H_403_29@ @H_403_29@ ui->label2->setStyleSheet("color: rgb(255, 78, 25);");; 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@} 
 @H_403_29@ @H_403_29@ @H_403_29@ else 
 @H_403_29@ @H_403_29@ @H_403_29@{ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ui->label2->setText(""); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@if(rx.exactMatch(pwd)) 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@{@H_403_29@ 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@msgBox.setText("The password format is Right"); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@msgBox.exec(); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@} 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@else 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ { 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ msgBox.setText("Sorry,The password format is wrong!!\n 
@H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ \nPlease reenter your password."); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ msgBox.exec(); 
 @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ @H_403_29@ } 
 @H_403_29@ @H_403_29@ @H_403_29@} 
 
@H_403_29@ @H_403_29@} 
@H_403_29@4、main.cpp不用修改 
5、运行结果如下: 
  

Qt<wbr>正则表达式检测密码格式

@H_403_29@ @H_403_29@当输入特殊字符时会提示错误 

Qt<wbr>正则表达式检测密码格式

//------------------------------ THE END ----------------------------- 

猜你在找的正则表达式相关文章