`
eueuy
  • 浏览: 70326 次
  • 性别: Icon_minigender_1
  • 来自: 天津
最近访客 更多访客>>
社区版块
存档分类
最新评论

检查文件名&路径是否合法的函数

阅读更多
{===================================================
功    能 : 检查文件路径和文件名是否合法
 
参    数 : Filename : string //文件名
 
返 回 值 :  True : 合法   |   False : 不合法
 
备    注 :  仅检查是否合法,不检测文件是否存在
 
作    者 :  yueue (antong)    2004.8.22
            QQ: 20613165  Email: yueue{A}qq.com
=====================================================}
 
 
 
 
   //检查文件名&路径是否合法的函数
function checkFilename(strFilename:string):boolean;
 
  function c(s:string):boolean; //子函数:连带检测
  var
   i:integer;
   s1:string;
   f,g,h:boolean;
  begin
    f:=false;
    g:=false;
    h:=false;
    result:=true;
    for i:=0 to length(s)-1 do
    begin
      s1:=copy(s,i,1);
        //////检测\的连带
        if s1='\' then
        begin
            if f then
            begin
               result:=false;
               exit;
            end
            else
            begin
            f:=true;
            result:=true;
            end;
 
      end
      else
      begin
         f:=false;
         result:=true;
      end;
       //////检测:的连带
 
        if s1=':' then
        begin
            if g then
            begin
               result:=false;
               exit;
            end
            else
            begin
            g:=true;
            result:=true;
            end;
 
      end
      else
      begin
         g:=false;
         result:=true;
      end;
      //////检测.的连带
       
        if s1='.' then
        begin
            if h then
            begin
               result:=false;
               exit;
            end
            else
            begin
            h:=true;
            result:=true;
            end;
 
      end
      else
      begin
         h:=false;
         result:=true;
      end;
      ////
 
     end;
 
  end;
begin
  if (extractfilename(strFilename)=strFilename)////是否只输入了文件名而没有输路径
  or (extractfilename(strFilename)='')//是否只输入了路径没有输文件名
  or (extractfileext(extractfilename(strFilename))='')//是否格式错误(比如乱输)
  or (extractfileext(extractfilename(strFilename))='.')//是否没有后缀
  or (extractfileext(extractfilename(strFilename))=extractfilename(strFilename))
      //是否只输入了文件名而没有输路径
  or (length(extractfileext(extractfilename(strFilename)))>5)//后缀是否超了5个字节
  or (length(extractfilename(strFilename))>225)//文件名是否超过255个字节
  or (pos('\',strfilename)=0)//判断是否有'\'
  or (pos('.',strfilename)=0)//判断是否有'.'
  or (pos(':',strfilename)=0)//判断是否有':'
  or (pos('\',extractfilename(strfilename))<>0)//判断文件名是否有非法字符
  or (pos('/',extractfilename(strfilename))<>0)
  or (pos(':',extractfilename(strfilename))<>0)
  or (pos('*',extractfilename(strfilename))<>0)
  or (pos('?',extractfilename(strfilename))<>0)
  or (pos('"',extractfilename(strfilename))<>0)
  or (pos('<',extractfilename(strfilename))<>0)
  or (pos('>',extractfilename(strfilename))<>0)
  or (pos('|',extractfilename(strfilename))<>0)
  or (strfilename='')//是否没有输入任何东西
  or (not c(strfilename))//用检测连带函数检测是否出现\.:的连带
  then
  result:=false else result:=true; //输出
end;
分享到:
评论

相关推荐

    python文件名和文件路径操作实例

    “检查文件/文件路径”,“检查文件路径是否存在”,“分离文件路径及文件名”,“分离文件扩展名“,”得到文件名”和得到”文件路径“。 import os '''获得当前路径 ''' cwd=os.getcwd() print(cwd) ''' 得到...

    dos 函数大全详解

    windows下的dos函数 一)MD——建立子目录 1.功能:创建新的子目录  2.类型:内部命令  3.格式:MD[盘符:][路径名]〈子目录名〉  4.使用说明:  (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略...

    excel中161个VBA_自定义函数超级实用

    函数作用:检查一个数组是否为空.....................90 '81.函数作用:字母栏名转数字栏名.......................91 '82.函数作用:数字栏名转文字栏名.......................91 '83.函数作用:判断一件活页夹中是否...

    PHP中file_exists()判断中文文件名无效的解决方法

    php中判断文件是否存在我们会使用file_exists函数或is_file函数,但在使用file_exists时如果你文件名或路径是中文在uft8编码文档时是无效。本文就来解决此问题,下面我们一起来看看。 定义和用法: file_exists() ...

    Delphi开发技巧之-文件操作

    使用API函数复制移动文件 使用API访问ListBox项 使用GetTempFileName创建一个唯一的临时文件 使用INI文件 使用INI文件保存、装载字体信息 使用TFileStream 使用TStream保存字符串 使用TTreeview显示目录 使窗体的...

    php file_exists 检查文件或目录是否存在的函数

    在Windows上,使用/ /计算机名/共享/文件名或 计算机名共享文件名,以检查网络共享文件。 在 Windows 中要用 //computername/share/filename 或者 \\computername\share\filename 来检查网络中的共享文件

    PHP is_dir() 判断给定文件名是否是一个目录

    如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。 Note: 本函数的结果会被缓存。更多信息参见 clearstatcache()。 is_dir() 例子1复制代码 代码如下: &lt;? var_dump(is_dir(‘a_file.txt’)) . ...

    vc++自动注册ocx源代码

    1.只需指明ocx文件的路径(含文件名),函数即可自动从文件中提取控件的CLSID,然后检查是否已 注册,如果已注册则不再注册;如果未注册则自动进行注册。 2.ocx控件必须包含TypeLib信息,一般VC++/VB/DELPHI7等生成...

    [asp dll 函数 web 组件 源码]鱼鱼asp函数组件(fishasp20090218.dll)

    '作 用:检查是否为空 '参 数:tstr ----字符串 '返回值:true不为空,false为空 '**************************************************** '**************************************************** '函数名...

    我整理的VBA 自定义函数大全 共138页

    80.检查一个数组是否为空 81.字母栏名转数字栏名 82.数字栏名转文字栏名 83.判断一件活页夹中是否还有子目录 84.判断一个文件是否在使用中 85.列出档案详细摘要信息 86.获取菜单ID编号及名称列表 87.状态列动态显示...

    PHP中is_dir()函数使用指南

    如果 filename 是一个相对路径,则按照当前工作目录检查其相对路径。 注: 本函数的结果会被缓存。更多信息参见 clearstatcache()。 例子1 &lt;? var_dump(is_dir('a_file.txt')) . "\n"; var_dump(is_dir('bogus_...

    详解PHP中pathinfo()函数导致的安全问题

    pathinfo() 函数以数组或字符串的形式返回关于文件路径的信息。 返回的数组元素如下: [dirname]:返回文件路径中的目录部分 [basename]:返回文件路径中文件名的部分 [extension]:返回文件路径中文件的类型的部分 ...

    UniqueFuncNames:检查函数名的唯一性-matlab开发

    UniqueFuncNames - 检查函数名称的唯一性 如果您安装大型 3rd 方工具箱,文件名可能会干扰其他已安装的工具箱。 这个简单的函数比较在 Matlab 路径中找到的所有 M-、P- 和 Mex-文件的名称并显示非唯一名称。 如果在...

    delphi函数集81个

    delphi函数集 1. CustomCursor ................. 自定义光标 2. ReadRegKey ................... 读注册表键值 3. WriteRegKey .................. 写注册表键值 4. GetExePath ................... 取应用程序路径...

    PHP pathinfo()获得文件的路径、名称等信息说明

    [basename]:返回文件路径中文件名的部分 [extension]:返回文件路径中文件的类型的部分 语法 pathinfo(path,options) 参数 描述 path 必需。规定要检查的路径。 options 可选。规定要返回的数组元素。默认是...

    AllProgramFile

    编写一个函数来检查给定的单词是否是回文。 字符大小写应忽略。 ChangeDirectory.cs 编写一个为抽象文件系统提供更改目录(cd)功能的函数。 注意:根路径为“ /”。 路径分隔符为“ /”。 父目录的地址为“ ..”...

    node-red-contrib-file-function:从文件中读取函数 javascript。 这样你就可以使用你最喜欢的 editorIDE 来开发 Node-RED 功能

    地位代码气候 GPA 执照 密码 标签 问题 GitHub 分叉 GitHub 版本 GitHub 关注者 新版本 依赖关系文件名文件路径将相对于settings.userDir中设置的路径,或者如果未从 Node-RED 安装目录设置。 在节点的配置对话框中...

    正则表达式经典实例.pdf

    3.5 检查是否可以在目标字符串中找到匹配 3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12 在过程...

    linux下access函数的用法介绍

    其中,pathname是希望检验的文件名(包含路径),mode是欲检查的访问权限,如下所示 R_OK 检验调用进程是否有读访问权限W_OK 检验调用进程是否有写访问权限X_OK 检验调用进程是否有执行访问权限F_OK 

    正则表达式经典实例

    3.5 检查是否可以在目标字符串中找到匹配 3.6 检查正则表达式能否整个匹配目标字符串 3.7 获取匹配文本 3.8 决定匹配的位置和长度 3.9 获取匹配文本的一部分 3.10 获取所有匹配的列表 3.11 遍历所有匹配 3.12...

Global site tag (gtag.js) - Google Analytics