Скрыть все, кроме последних 4 символов в строке

Я получил это регулярное выражение, заменяющее все, кроме последних 4 символов в строке цифр: '1234567890'.replace(/\d(?=\d{4})/g, 'X'); // "XXXXXX7890"

Однако это работает только для цифр. Я хочу, чтобы он соответствовал любому буквенно-цифровому символу, включая пробелы. Я попытался заменить метасимвол /d на /w (в обоих местах), но это не сработало.

Вы можете помочь?

Это \d и \w, а не /d или /w.

Sebastian Simon 08.06.2018 06:17

Обратите внимание, что \ w включает в себя подчеркивание, о котором вы не упомянули о необходимости сопоставления.

Nick Russo 08.06.2018 06:20

Фактически, чтобы соответствовать любому символу, вы можете использовать [^], [\s\S], [\w\W], [\D\d] или . (с модификатором ECMAScript 2018 s). Используйте .replace(/.(?=.{4})/g, 'X')

Wiktor Stribiżew 08.06.2018 08:31
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
3
285
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы хотите выбрать и / w, и буквальный пробел, поэтому (\w| ). | похож на OR, где вы говорите регулярному выражению выбрать символ слова или пробел.

Используя ваше регулярное выражение, это будет: '1234567890'.replace(/(\w| )(?=(\w| ){4})/g, 'X')

Работает как шарм! Спасибо @naguib

ChrisRich 08.06.2018 06:21

Вы также можете использовать [\ w] вместо (\ w |), поскольку обе стороны чередования представляют одиночные символы.

Nick Russo 08.06.2018 06:23

Вы должны использовать \w

'123HGHJK90'.replace(/[\w ](?=[\w ]{4})/g, 'X');

Другие вопросы по теме