Почему этот код JavaScript недопустим в Firefox? - PullRequest
1 голос
/ 18 сентября 2010

Я случайно набрал \ s вместо "",

while(cname.charAt(cname.length-1) == "\s")

Разве специальные символы не разрешены во всех строковых литералах?

Кроме того, что такое правильное регулярное выражение для вырезанияот всех вкладок и пробелов из EOL?Селектор my /(.*)[\s\t]/ просто не будет работать!Поэтому мне пришлось отступить до while(if.. substr).

Ответы [ 2 ]

4 голосов
/ 18 сентября 2010

\s - это только класс символов для пробелов, табуляции и новых строк в регулярном выражении.«\ s» становится просто «s» в этом случае.

Удаление вкладок и пробелов из EOL с помощью:

cname = cname.replace(/\s+$/mg, '');
  • \s+ соответствует одному или нескольким пробелам или вкладкам
  • $ соответствует концу темы
  • Флаг m заставляет $ соответствовать концу строки, а не строке.
  • the *Флаг 1018 * приводит к замене всех совпадений.
2 голосов
/ 18 сентября 2010

\s является допустимым синтаксисом в регулярном выражении, но это не является допустимым синтаксисом в строке.

Это нормально:

/\s/

Это незаконно:

"\s"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...