Я видел различные сообщения по этой теме, но я получаю странный результат, когда я делаю следующее:удалить недопустимые символы из имени файла Javascript
var dirtyString = '<>I\really|\re\ad?"the/wh\ole*:da|\y?.'
var cleanString = dirtyString.replace(/[\/:*?"<>|.]/g, "");
console.log(cleanString);
Она удаляет все недопустимые символы, но буквы «r» также удаляются. В журнале консоли я получаю «Ieallyeadthewholeday» Кажется, что «\» до «r» стирает «r». «\» не стирает другие буквы, которые он использовал раньше. Я что-то упускаю?
Спасибо. Хотя я застрял. В принципе, мой пользователь может ввести строку в текстовое поле, и эта строка будет использоваться в качестве имени файла. Я хотел удалить все незаконные символы, прежде чем сделать это именем файла. Так что, если пользователь случайно набирает строку \ r в своей строке, то мне просто нужно признать, что r будет стерта? – user3080392
@ user3080392 не полагаются на проверку на стороне клиента. Если пользователь отключает JavaScript и загружает недопустимое имя файла, что происходит? – Dai
Да, может быть, я выясню другой способ именования файла. Благодарю. – user3080392