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

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

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

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

2、Widget.h文件

#ifndefWIDGET_H

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

3、Widget.cpp

#include "widget.h"

#include "ui_widget.h"

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

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

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

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

@H_403_101@//------------------------------ THE END @H_403_101@----------------------------- 

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