Заменить нецифровые символы на javascript?

Я использую это регулярное выражение для проверки телефона

но когда кто-либо вводит какие-либо специальные символы *-/()-_ на входе.. (кроме +), я хочу заменить эти символы на "" (none). Как я могу это сделать?

var phone = /^\+(90)[2-5]{1}[0-9]{9}$/;

Ответ 1

Это приведет к удалению всех нечисловых символов в заданной строке:

myString = myString.replace(/\D/g,"");

\D соответствует любому, что не является числом; \D соответствует числу.


Неправильный вопрос. Чтобы удалить все нечисловые символы, кроме +, выполните:

myString = myString.replace(/[^\d\+]/g,"");

Ответ 2

var input = document.getElementById('phone');
input.onkeypress = function(){
    input.value = input.value.replace(/[^0-9+]/g, '');
}