Задать вопрос
@roki88

JS почему регулярное выражение выдает ошибку SyntaxError: invalid escape sequence?

Добрый вечер написал небольшой снипет для проверки возращаемого значения с сервиса рукапча , задача была следующая если приходит ошибочный ответ то содержащий буквы и числа в переменой то с помащью регулярки вида \d[^A-z] очистить строку от букв данную регулярку вставляю в код JavaScript он выдает ошибку SyntaxError: invalid escape sequence.
вот часть кода :
var capcha = \d[^A-z];
    console.log(capcha.toString("dfgfs424r23"));


также пробовал вот так таже ошибка перерыл весь интернет.
var capcha = new RegExp(\d[^A-z]);
	console.log(capcha.toString("dfgfs424r23"));

Я так понял я не правильно экранирую регулярное выражение !
  • Вопрос задан
  • 1521 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@choupa
Архитектор (обычный, который строит)
Регулярное выражение обособляется слэшами:
var capcha = /\d[^A-z]/;
Во втором случае регулярное выражение делается из строки, поэтому её надо заключить в кавычки:
var capcha = new RegExp( '\d[^A-z]' );
Ответ написан
Комментировать
@roki88 Автор вопроса
var res = "dfgfs424r23",
  reg = /\d[^A-z]/gim,
  clean = res.match(reg).join("");
console.warn(clean);

Вопрос а почему в этом коде похожие числа удаляются возращает строку вида 4223 как можно сделать чтобы числа все оставались?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы