Есть строка:
var stroka = "Привет1274 ме234ня зо65вут 7987Ефим!"
Нам нужно из этой строки удалить все буквы и оставить только символы и цифры. Как это сделать?
В этом нам помогут регулярные выражения, классы символов и диапазоны классов. Все замены мы будем производить методом replace().
Регулярному выражению будет присвоен глобальный флаг «g» для оценки всех повторений в строке. Заменять мы будем на пустую строку, что будет приравнено к удалению.
stroka.replace(/[^0-9]/g,"")
Получим слипшиеся цифры в виде одной строки:
"1274234657987"
Можем учитывать пробелы:
только пробелы stroka.replace(/[^0-9, ]/g,"") пробелы и любые другие символы stroka.replace(/[^0-9,\s]/g,"")
Получим строку:
"1274 234 65 7987"
В диапазон символов мы добавили пробел, поэтому нам вернулась строка с пробелами.
Альтернативный синтаксис
Можно использовать специальный экранированный класс символа (CharacterClassEscape), который обозначается буквой D.
Он находит сопоставления в строке, которые НЕ равны набору из десяти цифр.
Он экранированный — это значит, что перед D мы должны будем поставить символ обратной косой черты \. Ну и конечно это всё мы будем вводить внутри шаблона регулярного выражения, который обозначается границами в виде двух косых линий / /.
То есть мы можем найти в строке все места где символ не соответствует одному из: 0123456789
var stroka = "Привет1274 ме234ня зо65вут 7987Ефим!"
stroka.replace(/\D/g,'') '1274234657987'
Информационные ссылки
Стандарт ECMAScript — Раздел «CharacterClass» — https://tc39.es/ecma262/#sec-characterclass
Стандарт ECMAScript — Раздел «ClassRanges» — https://tc39.es/ecma262/#sec-classranges
Стандарт ECMAScript — Раздел «NonemptyClassRanges» — https://tc39.es/ecma262/#sec-nonemptyclassranges
Стандарт ECMAScript — Раздел «CharacterClassEscape :: D» — https://tc39.es/ecma262/multipage/text-processing.html#prod-CJ70Staj
Стандарт ECMAScript — Раздел «String.prototype.replace ( searchValue, replaceValue )» — https://tc39.es/ecma262/#sec-string.prototype.replace
Стандарт ECMAScript — Раздел «get RegExp.prototype.flags» — https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
ECMAScript | Условные обозначения