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

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;
  }
相关推荐
小高0074 小时前
Elips-Core:轻量级 Node.js Web 框架核心实现
前端·javascript·node.js
前端流一4 小时前
Node.js 原生实现JSON-RPC及长进程双向通信实践
node.js
undsky8 小时前
【RuoYi-Eggjs】:多数据库与 MyBatis 特性详解
node.js·mybatis·egg.js
一颗青果11 小时前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节
weixin_4624462313 小时前
使用 cnchar 生成汉字拼音、笔画、组词数据(Node.js 实战教程)
node.js
想学后端的前端工程师13 小时前
【Node.js后端开发实战指南:从入门到企业级应用】
node.js
weixin_4624462314 小时前
Node.js 纯 JS 生成 SVG 练字纸(米字格 / 田字格)完整实现解析
开发语言·javascript·node.js
cypking14 小时前
三、NestJS 开发实战文档-->集成 MySQL(TypeORM)
前端·数据库·mysql·adb·node.js
Misnearch14 小时前
npm包-serve包使用
前端·npm·node.js
千寻girling1 天前
计算机组成原理-全通关源码-实验(通关版)---头歌平台
前端·面试·职场和发展·typescript·node.js