当前位置: 代码迷 >> QT开发 >> 怎么判断一个字符串是否为合法的文件名
  详细解决方案

怎么判断一个字符串是否为合法的文件名

热度:42   发布时间:2016-04-25 03:48:00.0
如何判断一个字符串是否为合法的文件名?
需要验证仪个文件名是否合法

如在Windows下,"123.exe"是一个合法的文件名,而"?<>.exe"是非法的文件名

不知道Qt是否对此提供了封装函数?

------解决方案--------------------
用正则表达式
------解决方案--------------------
亲,使用正则表达式吧!就如Windows的文件名称合法性判断一样!
我就给你封装一个函数吧!
bool Setting::isLegal(QString text)
{
if(text.isEmpty())
{
return true;
}

bool is_legal = true;

//正则表达式判断特殊字符
QString pattern("[\\\\/:*?\"<>
------解决方案--------------------
]");
QRegExp rx(pattern);
int match = text.indexOf(rx);
if(match >= 0)
{
is_legal = false; 
}

return is_legal;
}
  相关解决方案