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 相关文章推荐
location.search在客户端获取Url参数的方法
Jun 08 Javascript
javascript字符串拼接的效率问题
Dec 25 Javascript
jquery插件制作 表单验证实现代码
Aug 17 Javascript
简述AngularJS相关的一些编程思想
Jun 23 Javascript
Javascript页面跳转常见实现方式汇总
Nov 28 Javascript
JS简单模拟触发按钮点击功能的方法
Nov 30 Javascript
三种AngularJS中获取数据源的方式
Feb 02 Javascript
js改变透明度实现轮播图的算法
Aug 24 Javascript
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
Apr 26 Javascript
vue组件之间通信方式实例总结【8种方式】
Feb 22 Javascript
Node.js系列之发起get/post请求(2)
Aug 30 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
Jul 24 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
php 远程图片保存到本地的函数类
2008/12/08 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
php实现查看邮件是否已被阅读的方法
2013/12/03 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
Extjs4 关于Store的一些操作(加载/回调/添加)
2013/04/18 Javascript
web css实现整站样式互相切换
2013/10/29 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
jquery表单验证插件(jquery.validate.js)的3种使用方式
2015/03/28 Javascript
浅谈jQuery中setInterval()方法
2015/07/07 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
原生js实现商品放大镜效果
2017/01/12 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
vue项目中使用ueditor的实例讲解
2018/03/05 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
laravel实现中文和英语互相切换的例子
2019/09/30 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
通过实例了解Javascript柯里化流程
2020/03/03 Javascript
微信小程序实现点击页面出现文字
2020/09/21 Javascript
列举Python中吸引人的一些特性
2015/04/09 Python
Python开发的实用计算器完整实例
2017/05/10 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
信用社竞聘演讲稿
2014/05/16 职场文书
电视节目策划方案
2014/05/16 职场文书
生日庆典策划方案
2014/06/02 职场文书
行政执法队伍作风整顿剖析材料
2014/10/11 职场文书
龙门石窟导游词
2015/02/02 职场文书
高中同学会致辞
2015/08/01 职场文书
《小乌鸦爱妈妈》教学反思
2016/02/19 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
mysql 如何获取两个集合的交集/差集/并集
2021/06/08 MySQL
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android