Вы должны избегать каждого \
, чтобы быть \\
:
var ttt = "aa ///\\\\\\";
Обновлено : Я думаю, что этот вопрос не касается escape-символа в строка вообще. Ответчик, кажется, не объясняет проблему правильно.
, потому что вам нужно было показать пользователю сообщение, что пользователь не может указать имя, имеющее символ (\).
blockquote>Я думаю, что сценарий похож на:
var user_input_name = document.getElementById('the_name').value;
. Затем искатель хочет проверить, содержит ли
user_input_name
любое [\
]. Если это так, то предупредите пользователя.Если пользователь вводит [
aa ///\
] в поле ввода HTML, то если выalert(user_input_name)
, вы увидите [aaa ///\
]. Вам не нужно бежать, т. Е. Заменить [\
] на [\\
] в JavaScript-коде. Когда вы выполняете экранирование, это происходит потому, что вы пытаетесь создать строку, содержащую специальные символы в исходном коде JavaScript . Если вы этого не сделаете, он не будет корректным. Поскольку вы уже получаете строку, вам не нужно передавать ее в функцию экранирования. Если вы это сделаете, я предполагаю, что вы генерируете другой код JavaScript из кода JavaScript, но здесь это не так.Я угадываю, что искатель хочет имитировать вход, поэтому мы можем понять проблему. К сожалению, искатель не очень хорошо разбирается в JavaScript. Таким образом, нам предоставляется код синтаксической ошибки:
var ttt = "aa ///\";
Следовательно, мы предполагаем, что у айзера возникла проблема с экранированием.
Если вы хотите имитировать, код должен быть действительным на первом месте.
var ttt = "aa ///\\"; // <- This is correct // var ttt = "aa ///\"; // <- This is not. alert(ttt); // You will see [aa ///\] in dialog, which is what you expect, right?
Теперь вам нужно только
var user_input_name = document.getElementById('the_name').value; if (user_input_name.indexOf("\\") >= 0) { // There is a [\] in the string alert("\\ is not allowed to be used!"); // User reads [\ is not allowed to be used] do_something_else(); }
Изменить: я использовал
[]
для цитирования текста, который будет показан, так что это будет менее запутанным, чем использование""
.