Следующее выражение должно быть в состоянии идентифицировать недопустимые символы (на основе вашего примера): /^\.|\.$|[\\\/:*?"<>|]/
.
^\.
- начинается с .
\.$
- заканчивается .
[\\\/:*?"<>|]
- любой из следующих недопустимых символов (обратите внимание, что некоторые из них должны были быть экранированы с помощью \
) |
- работает следующим образом или между различными выражениями
Пример:
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'));