js is_valid_filename验证文件名的函数


Posted in Javascript onJuly 19, 2017

函数代码

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

Javascript 相关文章推荐
对 lightbox JS 图片控件进行了一下改造, 使其他支持复杂的图片说明
Mar 20 Javascript
JS实现IE状态栏文字缩放效果代码
Oct 24 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 Javascript
微信小程序 合法域名校验出错详解及解决办法
Mar 09 Javascript
JS实现闭包中的沙箱模式示例
Sep 07 Javascript
浅谈angular4实际项目搭建总结
Dec 01 Javascript
vue watch自动检测数据变化实时渲染的方法
Jan 16 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
May 16 Javascript
JQuery扩展对象方法操作示例
Aug 21 jQuery
js实现简单贪吃蛇游戏
May 15 Javascript
vue Render中slots的使用的实例代码
Jul 19 #Javascript
详解vue前后台数据交互vue-resource文档
Jul 19 #Javascript
解决vue router使用 history 模式刷新后404问题
Jul 19 #Javascript
深入理解vue Render函数
Jul 19 #Javascript
Vue AST源码解析第一篇
Jul 19 #Javascript
Vue之Watcher源码解析(1)
Jul 19 #Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
Jul 19 #Javascript
You might like
自动跳转中英文页面
2006/10/09 PHP
基于php上传图片重命名的6种解决方法的详细介绍
2013/04/28 PHP
PHP微信分享开发详解
2017/01/14 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
php实现微信支付之退款功能
2018/05/30 PHP
使用UglifyJS合并/压缩JavaScript的方法
2012/03/07 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
2013/11/06 Javascript
JavaScript自定义等待wait函数实例分析
2015/03/23 Javascript
jQuery实现平滑滚动页面到指定锚点链接的方法
2015/07/15 Javascript
jQuery xml字符串的解析、读取及查找方法
2016/03/01 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
任意Json转成无序列表的方法示例
2016/12/09 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
2017/02/09 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
BootStrap 导航条实例代码
2017/05/18 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
Vue 图片压缩并上传至服务器功能
2020/01/15 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
通过shell+python实现企业微信预警
2019/03/07 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
PyQt5实现画布小程序
2020/05/30 Python
css3的transition属性详解
2014/12/15 HTML / CSS
全球航班旅行搜索网站:Cheapflights
2017/05/19 全球购物
Nike德国官网:Nike.com (DE)
2018/11/13 全球购物
医学生自荐信范文
2013/12/03 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
2015年党风廉政建设责任书
2015/01/29 职场文书
2015年毕业生实习评语
2015/03/25 职场文书
疾病证明书
2015/06/19 职场文书
表扬信范文
2019/04/22 职场文书
css背景和边框标签实例详解
2021/05/21 HTML / CSS
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python