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 相关文章推荐
javascript 二分法(数组array)
Apr 24 Javascript
formvalidator验证插件中有关ajax验证问题
Jan 04 Javascript
JQuery中使用Ajax赋值给全局变量异常的解决方法
Jan 10 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
Feb 11 Javascript
用Vue写一个分页器的示例代码
Apr 22 Javascript
React Router V4使用指南(精讲)
Sep 17 Javascript
angular 表单验证器验证的同时限制输入的实现
Apr 11 Javascript
使用vue-cli3新建一个项目并写好基本配置(推荐)
Apr 24 Javascript
Vue-cli3简单使用(图文步骤)
Apr 30 Javascript
js设置鼠标悬停改变背景色实现详解
Jun 26 Javascript
Vue实现input宽度随文字长度自适应操作
Jul 29 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 函数中使用static的说明
2012/06/01 PHP
php中如何同时使用session和cookie来保存用户登录信息
2013/07/05 PHP
php反射应用示例
2014/02/25 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
Git命令之分支详解
2021/03/02 PHP
JavaSript中变量的作用域闭包的深入理解
2014/05/12 Javascript
Javascript获取当前日期的农历日期代码
2014/10/08 Javascript
Jquery焦点图实例代码
2014/11/25 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
openlayers4实现点动态扩散
2020/08/17 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
Python isinstance判断对象类型
2008/09/06 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
python实现按首字母分类查找功能
2019/10/31 Python
Pytorch的mean和std调查实例
2020/01/02 Python
python中使用you-get库批量在线下载bilibili视频的教程
2020/03/10 Python
python ETL工具 pyetl
2020/06/07 Python
恶意软件的定义
2014/11/12 面试题
《小儿垂钓》教学反思
2014/02/23 职场文书
法人授权委托书
2014/04/03 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2014年技术部工作总结
2014/12/12 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
岗位聘任协议书
2015/09/21 职场文书
python中pandas对多列进行分组统计的实现
2021/06/18 Python
从零开始在Centos7上部署SpringBoot项目
2022/04/07 Servers
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
2022/04/12 PostgreSQL