Qt ip地址与子网掩码合法性校验
来源:互联网 发布:linux各个目录的作用 编辑:程序博客网 时间:2024/06/06 09:59
1、ip 地址合法性校验
static bool checkIp(QString ip) { QRegExp rx2("^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"); if( !rx2.exactMatch(ip) ) { return false; } else { QStringList pieces = ip.split("."); int b_subIpNum[4]; int b_cnt255 = 0; bool ok = true; for (int i = 0;i < 4;i++) { b_subIpNum[i] = pieces.value(i).toInt(&ok,10);//合理性判断 if(!ok) { return false; } if (b_subIpNum[i] > 255) { return false; } if (b_subIpNum[i] == 255) { b_cnt255 += 1; } } if (b_subIpNum[0] == 0 || b_cnt255 == 4){ b_cnt255 = 0; return false; } } return true; }
static bool checkip(QString ip) { QRegExp rx2("^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$"); if( !rx2.exactMatch(ip) ) { return false; } return true; }
2、子网掩码合法性校验
static bool checkMask(QString mask) { QRegExp rx2("^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$"); if( !rx2.exactMatch(mask) ) { return false; } else { QStringList pieces = mask.split("."); int b_subMaskNum[4]; int b_cnt255 = 0; int b_cnt0 = 0; bool ok = true; int imask = 0; int tmask = 255; for (int i = 0;i < 4;i++) { b_subMaskNum[i] = pieces.value(i).toInt(&ok,10);//合理性判断 if(!ok) { return false; } imask = b_subMaskNum[i]; if(!(imask==128 || imask==192 || imask==224 || imask==240 || imask==248 || imask==252 || imask==254 || imask==255 || imask==0)) { return false; } else if (imask > tmask) { return false; } if (b_subMaskNum[i] == 0) { b_cnt0 += 1; } if (b_subMaskNum[i] == 255) { b_cnt255 += 1; } tmask = imask; } if((b_cnt255 + b_cnt0) < 3) { return false; } if (b_subMaskNum[0] == 0 || b_cnt255 == 4){ b_cnt255 = 0; return false; } } return true; }
static bool checkMask(QString mask) { QRegExp rx2("^(254|252|248|240|224|192|128|0)\\.0\\.0\\.0|255\\.(254|252|248|240|224|192|128|0)\\.0\\.0|255\\.255\\.(254|252|248|240|224|192|128|0)\\.0|255\\.255\\.255\\.(254|252|248|240|224|192|128|0)$"); if( !rx2.exactMatch(mask) ) { return false; } return true; }
1 0
- Qt ip地址与子网掩码合法性校验
- shell校验IP地址合法性
- IP 地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- IP地址与子网掩码
- Python IP地址合法性的校验
- IP地址与子网掩码知识
- IP地址与子网掩码知识
- IP地址与子网掩码总结
- HDU 2008 JAVA
- Java collection 集合 容器 效率问题
- 前端
- HDU 2009 JAVA
- 城市活力相关总结
- Qt ip地址与子网掩码合法性校验
- 决策树和基于决策树的集成方法(DT,RF,GBDT,XGB)复习总结
- Linux
- PHP gzcompress 压缩,java实现gzuncompress
- 知乎:学习分布式系统需要怎样的知识?
- FP-Grouth算法学习小总结 By Assassin
- cordova学习一 环境搭建
- HDU 2010 JAVA
- java作用域public ,private ,protected 及不写时的区别