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

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;
  }
相关推荐
沐土Arvin4 小时前
理解npm的工作原理:优化你的项目依赖管理流程
开发语言·前端·javascript·设计模式·npm·node.js
神仙别闹17 小时前
基于VUE+Node.JS实现(Web)学生组队网站
前端·vue.js·node.js
BXCQ_xuan19 小时前
基于Node.js的健身会员管理系统的后端开发实践
后端·mysql·node.js
wt_cs19 小时前
身份证实名认证接口数字时代的信任基石-node.js实名认证集成
开发语言·node.js·php
李剑一21 小时前
写一个vitepress新建文章脚本,自动化创建链接,别再手写了!
前端·node.js·vitepress
名字越长技术越强2 天前
Node.js学习
学习·node.js
知识分享小能手2 天前
JavaScript学习教程,从入门到精通,Ajax与Node.js Web服务器开发全面指南(24)
开发语言·前端·javascript·学习·ajax·node.js·html5
dwqqw2 天前
opencv图像库编程
前端·webpack·node.js
layman05282 天前
node.js 实战——(fs模块 知识点学习)
javascript·node.js
本本啊2 天前
node 启动本地应用程序并设置窗口大小和屏幕显示位置
前端·node.js