Заменить все вхождения символов в строке на JavaScript

Иногда приходится заменить определенный набор символов в строке на JS.
Например,
var str = '23.10.2013';
str.replace('.', '-'); //=> "23-10.2013"
Мы ожидали другой результат, не так ли?

В таких случаях на помощь приходят регулярные выражения:
str.replace(/\./gi, '-'); //=> "23-10-2013"
Выполнить пример в фидле

Однако, такой подход начинает глючить если мы передадим специальные символы, например знак сложения '+', который требует экранирования. Поэтому есть ещё один способ замены символов в строке без RegEx:

str.split('.').join('-'); //=> "23-10-2013"
Выполнить пример в фидле

Читать далее:
Переходим на VanillaJS