校验系统文件名是否符合标准

javascript 复制代码
  function isValidFilename(filename) {
    const forbiddenChars = /[<>:"/\\|?*]/;
    if (forbiddenChars.test(filename)) {
        return false;
    }
  
    if (filename.endsWith(' ') || filename.endsWith('.')) {
        return false;
    }
  
    const reservedNames = ['CON', 'PRN', 'AUX', 'NUL', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7', 'COM8', 'COM9', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7', 'LPT8', 'LPT9'];
    const nameWithoutExtension = filename.split('.')[0];
    if (reservedNames.includes(nameWithoutExtension.toUpperCase())) {
        return false;
    }
  
    return true;
  }
相关推荐
你的人类朋友44 分钟前
解释一下Node.js的『阻塞』现象,并回答:为什么会阻塞?什么情况下会阻塞?
javascript·后端·node.js
疾风铸境16 小时前
Qt5.14.2+mingw64编译OpenCV3.4.14一次成功记录
前端·webpack·node.js
云只上19 小时前
前端界面在线excel编辑器 。node编写post接口获取文件流,使用传参替换表格内容展示、前后端一把梭。
前端·javascript·node.js·excel
BillKu20 小时前
node.js、npm相关知识
前端·npm·node.js
还是鼠鼠1 天前
Node.js 中间件-中间件的概念与格式
前端·javascript·vscode·node.js·express
oil欧哟1 天前
😎 MCP 从开发到发布全流程介绍,看完不踩坑!
人工智能·typescript·node.js
无责任此方_修行中1 天前
关于 Node.js 原生支持 TypeScript 的总结
后端·typescript·node.js
程序员黄同学1 天前
解释 Webpack 中的模块打包机制,如何配置 Webpack 进行项目构建?
前端·webpack·node.js
月起星九2 天前
为什么package.json里的npm和npm -v版本不一致?
前端·npm·node.js
Peter 谭2 天前
“三小时搞定AI工具开发“:基于MCP的Node.js极简实践
人工智能·node.js