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

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;
  }
相关推荐
昭昭日月明3 小时前
搭建高可用私有 NPM 镜像
node.js·代码规范
七牛云行业应用8 小时前
保姆级 OpenClaw 避坑指南:手把手教你看日志修 Bug,顺畅连通各大 AI 模型
人工智能·后端·node.js
多厘10 小时前
使用 nvm 管理多版本 Node 项目依赖
node.js
前端双越老师1 天前
Skills 是什么?如何用于 Agent 开发?
人工智能·node.js·agent
San302 天前
AI 时代的“USB-C”接口:MCP 核心原理与实战
langchain·node.js·mcp
helloweilei3 天前
javascript 结构化克隆
javascript·node.js
小蜜蜂dry4 天前
nestjs学习 - 控制器、提供者、模块
前端·node.js·nestjs
San304 天前
手写 Mini Cursor:基于 Node.js 与 LangChain 的开发实战
langchain·node.js·agent
前端付豪4 天前
Nest 项目小实践之图书增删改查
前端·node.js·nestjs
sunny_5 天前
面试踩大坑!同一段 Node.js 代码,CJS 和 ESM 的执行顺序居然是反的?!99% 的人都答错了
前端·面试·node.js