我正在构建一个基于浏览器的应用程序,它允许用户使用一些.json文件创建文件夹(没什么大不了的)。问题是,我使用的框架(NW.js)似乎并不关心允许用户创建名为“CON”或“NUL”的文件夹;这些都不应该被创建,里面的文件只是消失,它有点难以删除文件夹本身。
我可以做这样的事情来防止发生:
var newFolder = "nul";
function checkFolderName(text) {
switch(newFolder) {
case "con":
console.log("folder can't be created")
break;
case "nul":
console.log("folder can't be created")
break;
// and so on... there's about 23 windows-reserved names that I could find
default:
console.log("folder can be created")
}}
checkFolderName(newFolder);
字符串
但是我想知道是否有一些更简单的方法通过Regex/JavaScript来检查这一点,或者可能有一些不同的方法来实现这个想法。
3条答案
按热度按时间vlf7wbxs1#
这里有一个更简洁的方式来写你想要的东西。
函数被重命名以暗示它接受一个字符串并返回一个布尔值。
如果输入字符串无效,则返回false。
所有被禁止的名称都被分组在一个易于更新的列表中。
如果列表中包含该名称,则检查其有效性。
字符串
0sgqnhkj2#
我的朋友可以用 regex 来帮助我:
字符串
但是,如果您想添加更多 “禁止的名称”,它会变得非常笨拙,因此jaredcheeda的建议在这种情况下非常方便。
j2qf4p5b3#
如果你想使用正则表达式,你可以这样做:
字符串
|
字符的意思是“或”。因此,如果newFolder
为"con"
、"nul"
、"abc"
或"xyz"
,则测试函数将返回true^
和$
符号是字符串的开始和结束。如果你想知道到底什么是非法的部分,你可以用这个:
型
您也可以使用下列的switch case表示法:
型