Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно ли удалять из пользовательского ввода \uFEFF (метка порядка байтов)? (https://javascript.ru/forum/misc/53650-nuzhno-li-udalyat-iz-polzovatelskogo-vvoda-%5Cufeff-metka-poryadka-bajjtov.html)

Momon 12.02.2015 10:51

Нужно ли удалять из пользовательского ввода \uFEFF (метка порядка байтов)?
 
Ведь может быть такой эффект:
alert("стр\uFEFFока"); // строка
alert("строка"); // строка
alert("стр\uFEFFока" == "строка"); // false
PS Кодировка файла UTF-8 без BOM к пользовательскому вводу отношения не имеет, насколько я понимаю.

ksa 12.02.2015 10:57

Цитата:

Сообщение от Momon
Нужно ли удалять из пользовательского ввода \uFEFF (метка порядка байтов)?

Это зависит от задачи...
Как там вообще понимается "пользовательский ввод"... На что именно идет проверка того, что вводит пользователь...

Т.е. это, как правило, решает разработчик в купе с заказчиком. ;)

Momon 12.02.2015 11:12

ksa,
А можно вообще все escape-последовательности запретить, как тут на форуме. Тут ведь просто они экранируются, вот так \\uFEFF, да?

ksa 12.02.2015 11:18

Цитата:

Сообщение от Momon
А можно вообще все escape-последовательности запретить

Я пока не встречал такой команды для контролов
"запретить escape-последовательности"=true;

Momon 12.02.2015 12:06

ksa,
Я имею ввиду, что можно просто экранировать обратный слеш \, в следствие чего пользователь не сможет ввести символ используя escape-последовательность, это будет просто текст:
alert("\\uFEFF"); // \uFEFF

ksa 12.02.2015 13:13

Цитата:

Сообщение от Momon
Я имею ввиду, что можно просто экранировать обратный слеш \

Т.е. можно ли в
<input type='text' />

Заменять "\" на "\\"? Конечно можно... :yes:


Часовой пояс GMT +3, время: 14:48.