QT LineEdit 输入IP地址等格式控制

参考链接:https://www.cnblogs.com/hellovenus/p/5183593.html

DNS服务器:https://blog.csdn.net/kevin3101/article/details/80568578 

正则表达式:https://www.cnblogs.com/lsdb/p/9817644.html

基本知识

  • IP地址范围(三类,ABC类)

0.0.0.0~223.255.255.255

  • DNS服务器:

北京联通        202.106.0.20      202.106.196.115

阿里                223.5.5.5  223.6.6.6

114                114.114.114.114

南方电信        180.153.225.136

百度                180.76.76.76

360                  101.226.4.5

  • 子网掩码

255.*.*.*~255.255.255.* 

实现步骤

  • 首先构造三个三类正则表达式

 

 QRegExp rx_ip("/^(?!^255(\.255){3}$)(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])(\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)){2}\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/");

 QRegExp rx_mask("^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$");

 QRegExp rx_dns("(-|\\+)?[0-8]\\d:[0-5]\\d:[0-5]\\d");

 

 

 

 

你可能感兴趣的:(QT)