Вы можете использовать следующее:
([^+\d]|(?!^)\+)
Это соответствует всему, что не является цифрой или +
и не соответствует +
в начале строки!
Итакваш журнал испытаний будет выглядеть так:
console.log("+asd242++asf43+234".replace(/([^+\d]|(?!^)\+)/g, ""))
(я добавил +
в начало, чтобы показать, что он обрабатывает это правильно!)
См. Демо , которое показываетэто соответствует всем вашим случаям!