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

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;
  }
相关推荐
王木风17 小时前
终端里的编程副驾:DeepSeek-TUI-项目深度拆解,实测与原理分析
linux·运维·人工智能·rust·node.js
菜泡泡@19 小时前
npm 安装pnpm之后运行pnpm -v查询报错
前端·npm·node.js
vim怎么退出1 天前
排查 WebSocket "Invalid frame header" 的一次复盘
websocket·node.js·express
m0_535817551 天前
告别海外账号!Claude Code Windows完整部署指南:从Node.js到api对接(附避坑)
windows·gpt·node.js·api·claude·claudecode·88api
网络点点滴1 天前
Node.js基础-进程、线程、线程池
node.js
七牛云行业应用1 天前
MCP 服务器本地部署实战【2026】:Python/Node.js 搭建 + Claude/Cursor/TRAE
服务器·python·node.js
大力夯1 天前
macOS 使用 n 模块管理 Node.js 版本
vue.js·macos·node.js
Hello--_--World1 天前
vite:什么是热更新?vite 和 webpack 有什么区别?vite常见配置和优化手段?
前端·webpack·node.js