函数名

    //判断是否是IP地址
static bool isIP(const QString &ip);
//判断是否是MAC地址
static bool isMac(const QString &mac);
//判断是否是合法的电话号码
static bool isTel(const QString &tel);
//判断是否是合法的邮箱地址
static bool isEmail(const QString &email); //16进制字符串转10进制
static int strHexToDecimal(const QString &strHex);
//10进制字符串转10进制
static int strDecimalToDecimal(const QString &strDecimal);
//2进制字符串转10进制
static int strBinToDecimal(const QString &strBin); //16进制字符串转2进制字符串
static QString strHexToStrBin(const QString &strHex);
//10进制转2进制字符串一个字节
static QString decimalToStrBin1(int decimal);
//10进制转2进制字符串两个字节
static QString decimalToStrBin2(int decimal);
//10进制转16进制字符串,补零.
static QString decimalToStrHex(int decimal);

函数体

bool QUIHelper::isIP(const QString &ip)
{
QRegExp RegExp("((2[0-4]\\d|25[0-5]|[01]?\\d\\d?)\\.){3}(2[0-4]\\d|25[0-5]|[01]?\\d\\d?)");
return RegExp.exactMatch(ip);
} bool QUIHelper::isMac(const QString &mac)
{
QRegExp RegExp("^[A-F0-9]{2}(-[A-F0-9]{2}){5}$");
return RegExp.exactMatch(mac);
} bool QUIHelper::isTel(const QString &tel)
{
if (tel.length() != 11) {
return false;
} if (!tel.startsWith("13") && !tel.startsWith("14") && !tel.startsWith("15") && !tel.startsWith("18")) {
return false;
} return true;
} bool QUIHelper::isEmail(const QString &email)
{
if (!email.contains("@") || !email.contains(".com")) {
return false;
} return true;
} int QUIHelper::strHexToDecimal(const QString &strHex)
{
bool ok;
return strHex.toInt(&ok, 16);
} int QUIHelper::strDecimalToDecimal(const QString &strDecimal)
{
bool ok;
return strDecimal.toInt(&ok, 10);
} int QUIHelper::strBinToDecimal(const QString &strBin)
{
bool ok;
return strBin.toInt(&ok, 2);
} QString QUIHelper::strHexToStrBin(const QString &strHex)
{
uchar decimal = strHexToDecimal(strHex);
QString bin = QString::number(decimal, 2);
uchar len = bin.length(); if (len < 8) {
for (int i = 0; i < 8 - len; i++) {
bin = "0" + bin;
}
} return bin;
} QString QUIHelper::decimalToStrBin1(int decimal)
{
QString bin = QString::number(decimal, 2);
uchar len = bin.length(); if (len <= 8) {
for (int i = 0; i < 8 - len; i++) {
bin = "0" + bin;
}
} return bin;
} QString QUIHelper::decimalToStrBin2(int decimal)
{
QString bin = QString::number(decimal, 2);
uchar len = bin.length(); if (len <= 16) {
for (int i = 0; i < 16 - len; i++) {
bin = "0" + bin;
}
} return bin;
} QString QUIHelper::decimalToStrHex(int decimal)
{
QString temp = QString::number(decimal, 16);
if (temp.length() == 1) {
temp = "0" + temp;
} return temp;
}

Qt通用方法及类库6的更多相关文章

  1. 使用java泛型设计通用方法

    泛型是Java SE 1.5的新特性, 泛型的本质是参数化类型, 也就是说所操作的数据类型被指定为一个参数. 因此我们可以利用泛型和反射来设计一些通用方法. 现在有2张表, 一张user表和一张stu ...

  2. .NET基础架构方法—DataTableToExcel通用方法

    p { display: block; margin: 3px 0 0 0; } --> .NET架构基础方法—DataTableToExcel通用方法(NPOI) 今天封装DataTaleTo ...

  3. DataTable数据赋值给Model通用方法

    注:该文属本人原创,今后项目中发现该方法存在BUG会实时更新,转载记得附上原文出处,方便大家获得最新代码. 相信大家在做项目中,经常会根据不同的表new各种不同的Model,当需要对Model进行实例 ...

  4. 带毫秒的字符转换成时间(DateTime)格式的通用方法

    C#自身有更好的方式,Net任意String格式转换为DateTime类型 ====================================================== 原文 ==== ...

  5. 使用 highchart 绘制柱状图的通用方法与接口

    本文给出使用 highchart 绘制柱状图的通用方法与接口, 只要指定相应的数据结构和配置, 就可以直接拿来使用. 一.  数据结构与基本接口   一般绘制图形, 会涉及到较复杂的数据结构, 比如使 ...

  6. C# 深拷贝通用方法

    C#深拷贝通用方法(引用类型的拷贝) /// <summary> /// 深度COPY /// </summary> /// <typeparam name=" ...

  7. ubuntu下安装与卸载qt的方法

    http://blog.csdn.net/huyisu/article/details/24014407 ubuntu下安装与卸载qt的方法 分类: linux 2014-04-18 14:20 18 ...

  8. List对象排序的通用方法

    转自 @author chenchuang import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Me ...

  9. js添加事件通用方法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  10. hibernate学习笔记4---HQL、通用方法的抽取实现

    一.通用方法的抽取实现 由于hibernate中对增删改查的一切操作都是面向对象的,所以将增删改查抽取成通用方法,以满足不同的表的增删改查操作,简化jdbc代码. 具体例子如下: package cn ...

随机推荐

  1. KubeSphere v4 全解析:揭秘您最关心的 12 大热点问题

    为了助力大家更顺畅地使用 KubeSphere v4,我们精心汇总了十二个开发者高频关注的热点问题,这些问题全面覆盖了功能特性.性能表现.兼容性考量.安全保障以及升级流程等关键方面.接下来,我们将为大 ...

  2. Machine Learning Week_1 Model and Cost Function 1-4

    目录 2 Model and Cost Function 2.1 Video: Model Representation unfamiliar words 2.2 Reading: Model Rep ...

  3. uniapp、nativeJS、H5+退出APP应用(IOS+安卓)

    uniapp.nativeJS.H5+退出APP应用(IOS+安卓)阅读原文:https://mp.weixin.qq.com/s/Aru-DCcSHrNcuxJ6Q94QLQ直接扫码进入此链接可阅读 ...

  4. 灵活轻巧的java接口自动化测试实战

    前言 无论是自动化测试还是自动化部署,撸码肯定少不了,所以下面的基于java语言的接口自动化测试,要想在业务上实现接口自动化,前提是要有一定的java基础. 如果没有java基础,也没关系.这里小编也 ...

  5. delphi Image 32 动画演示1

    Image 32 自带的Demo,添加一些注解. unit uFrmAnimation; interface uses Winapi.Windows, Winapi.Messages, System. ...

  6. 使用原生Web开发技术为在线客服系统提供网页版配置工具

    升讯威在线客服与营销系统是基于 .net core / WPF 开发的一款在线客服软件,宗旨是: 开放.开源.共享.努力打造 .net 社区的一款优秀开源产品. 背景 随着下载私有化部署的用户越来越多 ...

  7. select2的搜索框不能输入内容

    select2的搜索框不能输入内容 原因:原来是模态对话框强制使自己处于焦点状态,导致select2的搜索框无法获取焦点所致. 解决办法:在初始化中重写模态对话框的enforceFocus函数 $.f ...

  8. Fork/Join框架之Fork、Join操作

    Fork Fork就是一个不断分枝的过程,在当前任务的基础上长出n多个子任务. 当一个ForkJoinTask任务调用fork()方法时,当前线程会把这个任务放入到queue数组的queueTop位置 ...

  9. Django之开发restful接口

    django中的开发接口有两种模式FBV和CBV,分别是基于函数视图和基于类视图,详细的可以看看菜鸟教程的Django 视图 - FBV 与 CBV,由于本文的用户管理是一个restful风格的api ...

  10. ZAFU五月多校合训

    B. 进制 jbgg 今天在幼儿园学了进制转换,现在 jbgg 有一个十进制正整数 \(x\),jbgg 好奇是否存在这样一个进制 \(p\),使得 \(x\) 在 \(p\) 进制表示下的各个位上的 ...