我有以下 JavaScript,禁止将文件命名为特定名称,并禁止某些字符出现在名称中的任何位置:
var file = 'somefile';
var contain = ['"', '*', ':', '<', '>', '?', '\\', '/', '|', '+', '[', ']'];
var fullname = ['AUX', 'COM1', 'COM2', 'COM3', 'COM4', 'COM5', 'COM6', 'COM7',
'COM8', 'COM9', 'CON', 'LPT1', 'LPT2', 'LPT3', 'LPT4', 'LPT5', 'LPT6', 'LPT7',
'LPT8', 'LPT9', 'NUL', 'PRN'];
if(fullname.indexOf(file.toUpperCase()) >= 0)
{
alert('Your file must not be named any of these words:\n\n' +
fullname.join(' '));
return;
}
if(/* file contains any chars in contain[] */)
{
alert('Your file name must not contain any of these characters:\n\n' +
contain.join(' '));
return;
}
我想知道如何检查是否file
包含contain
数组中的任何项目。
我可以使用for
循环,如下所示:
for(var i = 0; i < contain.length; i++)
if(file.indexOf(contain[i]) >= 0)
...
但是为此使用循环似乎是“错误的”。
是否有任何内置函数可以使用 vanilla JavaScript 执行此操作?