js is_valid_filename验证文件名的函数

 更新时间:2017年07月19日 17:42:32   投稿:mdxy-dxy  
有时候我们需要对文件名进行控制,包括一些特殊命名的文件与特殊符号的文件名进程替换,那么就可以使用下面的函数

函数代码

function is_valid_filename($name) 
{
  $parts = preg_split("/(\/|".preg_quote("\\").")/", $name);
  if (preg_match("/[a-z]:/i", $parts[0])) {
    unset($parts[0]);
  }
  foreach ($parts as $part) 
  {
    print "part = '$part'<br>";
    if (preg_match("/[".preg_quote("^|?*<\":>", "/")."\a\b\c\e\x\v\s]/", $part) || preg_match("/^(PRN|CON|AUX|CLOCK$|NUL|COMd|LPTd)$/im", 
    str_replace(".", "\n", $part))) {
      return false;
    }
  }
  return true;
}
$bad = array_merge(array_map('chr', range(0, 31)), array("<", ">", ":", '"', "/", "\\", "|", "?", "*"));
$result = str_replace($bad, "", $filename); 

windows 系统文件命名规则限制

https://msdn.microsoft.com/en-us/library/aa365247

相关文章

  • html数组字符串拼接的最快方法

    html数组字符串拼接的最快方法

    html字符串的连接方法有多种,但效率却有很大区别,大家可以感觉需要选择。
    2009-09-09
  • JavaScript使用sort函数实现汉字排序

    JavaScript使用sort函数实现汉字排序

    JavaScript中的sort函数是一个强大且多用途的工具,能够对数组的元素进行排序,而汉字按照拼音排序又是一个常见需求,下面我们就来看看如何使用JavaScript实现汉字排序吧
    2023-12-12
  • Javascript将JSON日期格式化

    Javascript将JSON日期格式化

    在做项目中,将实体转化为JSON后,结果后台返回json时间格式为/Date(1306418993027)/,在前台JS里显示的并不是真正的日期,而且我们不能把所有日期字段都变成string吧,因此写了Javascript的扩展方法,来实现这个功能,代码如下
    2016-08-08
  • TypeScript 中括号用法小结

    TypeScript 中括号用法小结

    本文主要介绍了TypeScript 中括号用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • JS随机漂浮广告代码具体实例

    JS随机漂浮广告代码具体实例

    这篇文章主要介绍了JS随机漂浮广告代码具体实例,有需要的朋友可以参考一下
    2013-11-11
  • JavaScript实现in-place思想的快速排序方法

    JavaScript实现in-place思想的快速排序方法

    这篇文章主要介绍了JavaScript实现in-place思想的快速排序方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】

    原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】

    这篇文章主要介绍了原生JavaScript实现精美的淘宝轮播图效果,结合完整实例形式详细分析了javascript实现淘宝轮播图功能的相关HTML布局、css及js核心功能代码,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2017-05-05
  • JS实现的自定义网页拖动类

    JS实现的自定义网页拖动类

    这篇文章主要介绍了JS实现的自定义网页拖动类,涉及页面元素响应鼠标事件动态改变属性的相关实现技巧,需要的朋友可以参考下
    2015-11-11
  • 微信小程序实现侧边导航栏

    微信小程序实现侧边导航栏

    这篇文章主要为大家详细介绍了微信小程序实现侧边导航栏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 微信禁止下拉查看URL的处理方法

    微信禁止下拉查看URL的处理方法

    这篇文章主要介绍了微信禁止下拉查看URL的处理方法,需要的朋友可以参考下
    2017-09-09

最新评论