JavaScript Substitua todos os caracteres, exceto letras e números

str.replace(/[^A-Za-z0-9]/g, "-")
Delightful Dotterel