JavaScript reemplaza todos los caracteres excepto letras y números
str.replace(/[^A-Za-z0-9]/g, "-")
Delightful Dotterel
str.replace(/[^A-Za-z0-9]/g, "-")