首页 > 解决方案 > 什么正则表达式模式将支持 Windows 文件夹创建?

问题描述

我需要创建 Windows 文件夹的正则表达式。例如,它应该拒绝以点 ( .) 开头和结尾的字符串,并限制一些特殊字符 ( \/:*?"<>|)

我经常访问不以点开头或以点结尾的正则表达式

有人可以提供这个吗?

标签: javascriptregex

解决方案


以下表达式应该能够识别无效字符(基于您的示例):/^\.|\.$|[\\\/:*?"<>|]/.

  • ^\.- 以。。开始.
  • \.$- 以。。结束.
  • [\\\/:*?"<>|]- 以下任何无效字符(请注意,其中一些必须用 转义\
  • |- 像在不同的表达之间工作

例子:

function isValidFile(filename) {
  const invalidExp = /^\.|\.$|[\\\/:*?"<>|]/;
  return !invalidExp.test(filename);
}

console.log(isValidFile('file.name'));
console.log(isValidFile('.invalidfile.name'));
console.log(isValidFile('invalidfile.name.'));
console.log(isValidFile('invalidfile?name'));
console.log(isValidFile('invalidfile>name'));
console.log(isValidFile('invalidfile*name'));
console.log(isValidFile('invalidfile:name'));
console.log(isValidFile('invalidfile/name'));
console.log(isValidFile('invalidfile\\name'));


推荐阅读