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 相关文章推荐
使用onbeforeunload属性后的副作用
Mar 08 Javascript
php和js对数据库图片进行等比缩放示例
Apr 28 Javascript
Javascript打印局部页面实例
Jun 21 Javascript
jQuery EasyUI tree增加搜索功能的实现方法
Apr 27 jQuery
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
Sep 08 Javascript
Angular4实现图片上传预览路径不安全的问题解决
Dec 25 Javascript
解决js ajax同步请求造成浏览器假死的问题
Jan 18 Javascript
js统计页面上每个标签的数量实例代码
May 29 Javascript
vue使用技巧及vue项目中遇到的问题
Jun 04 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
Jul 19 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
Apr 04 Javascript
javascript实现的字符串转换成数组操作示例
Jun 13 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
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
js跨域和ajax 跨域问题的实现思路
2009/09/05 Javascript
javascript 面向对象 function类
2010/05/13 Javascript
JS前端框架关于重构的失败经验分享
2013/03/17 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
深入理解JavaScript系列(38):设计模式之职责链模式详解
2015/03/04 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
举例讲解JavaScript中将数组元素转换为字符串的方法
2015/10/25 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
JQuery点击事件回到页面顶部效果的实现代码
2016/05/24 Javascript
bootstrap datetimepicker2.3.11时间插件使用
2016/11/19 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
javascript 中null和undefined区分和比较
2017/04/19 Javascript
微信小程序 wx:for的使用实例详解
2017/04/27 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
2017/11/30 Javascript
微信小程序框架wepy之动态控制类名
2018/09/14 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
JS造成内存泄漏的几种情况实例分析
2020/03/02 Javascript
JavaScript通如何过RGraph实现动态仪表盘
2020/10/15 Javascript
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
css3进阶之less实现星空动画的示例代码
2019/09/10 HTML / CSS
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
态度决定一切演讲稿
2014/05/20 职场文书
企业形象策划方案
2014/05/29 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
小学新教师个人总结
2015/02/05 职场文书
电信营业员岗位职责
2015/04/14 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
《梅花魂》教学反思
2016/02/18 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python