Как удалить из строки в js всё кроме цифр и знаков / * - +

Пробовал:

let m = str.replace(/[^+-*/\d]/g, '')

но получал ошибку:

> Invalid regular expression: /[^+-*/\d]/: Range out of order in
> character class

Ответы (1 шт):

Автор решения: ΝNL993

То есть вы хотите оставить только цифры и знаки которые вы перечислили? Тогда вот:

let pattern = /[^0-9\/\*\-\+]+/g,
  log = (str) => console.log(str.replace(pattern, ''))

log('abc 123 = 456 def')
log('H3ll0_w0rld!')
log('2 * 2 = 2 + 2 = 4 / 2')
log('!@#$%^&*()_-+=')

P.S. если вы хотите сохранить пробелы тоже тогда используйте такой паттерн: /[^0-9\/\*\-\+\s]+/g

→ Ссылка