Здравствуйте, wety, Вы писали:
W>А можно использовать какой-нибудь StringBuilder на JS? Тогда работать будет быстрее.
Для чего? Здесь идет замена введенного символа, а не итогового значения. Поэтому можно введенный символ заменять на строку (проверил, нужно будет подправить).
Одинаковые ошибки необязательно делать каждый раз, достаточно сделать одну, а затем обращаться к ней по мере необходимости из любого места программы.