JavaScript Substitua todos os caracteres, exceto letras e números
str.replace(/[^A-Za-z0-9]/g, "-")
Delightful Dotterel
str.replace(/[^A-Za-z0-9]/g, "-")