JavaScript | Как получить только цифры из строки?

Есть строка:

var stroka = "Привет1274 ме234ня зо65вут 7987Ефим!"

Нам нужно из этой строки удалить все буквы и оставить только символы и цифры. Как это сделать?


В этом нам помогут регулярные выражения, классы символов и диапазоны классов. Все замены мы будем производить методом replace().

CharacterClass, ClassRanges, NonemptyClassRanges - ECMAScript
CharacterClass, ClassRanges, NonemptyClassRanges — синтаксис ECMAScript

Регулярному выражению будет присвоен глобальный флаг «g» для оценки всех повторений в строке. Заменять мы будем на пустую строку, что будет приравнено к удалению.

stroka.replace(/[^0-9]/g,"")

Получим слипшиеся цифры в виде одной строки:

"1274234657987"

 

Можем учитывать пробелы:

только пробелы
stroka.replace(/[^0-9, ]/g,"")
пробелы и любые другие символы
stroka.replace(/[^0-9,\s]/g,"")

Получим строку:

"1274 234 65 7987"

В диапазон символов мы добавили пробел, поэтому нам вернулась строка с пробелами.

Информационные ссылки

Стандарт 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 — Раздел «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 | Условные обозначения

 

Поделись записью