@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"));

Я так понял я не правильно экранирую регулярное выражение !
  • Вопрос задан
  • 1450 просмотров
Пригласить эксперта
Ответы на вопрос 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 как можно сделать чтобы числа все оставались?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы