#javascript #jquery #regex
#javascript #регулярное выражение
Вопрос:
Я использую регулярное выражение /^ (90)[2-5]{1}[0-9]{9}$/
для проверки телефона, но когда кто-то вводит какие-либо специальные символы (например, *
-
/
(
)
-
_
) во входных данных, я хочу заменить символы пустой строкой (удалить их). Обратите внимание, что я не хочу заменять
.
Как я могу это сделать?
Комментарии:
1. можете ли вы предоставить пример того, что вы хотите сделать?
Ответ №1:
Это приведет к удалению всех нечисловых символов в данной строке:
myString = myString.replace(/D/g,"");
D
соответствует всему, что не является числом; d
соответствует числу.
Неправильно истолковал вопрос. Чтобы удалить все нечисловые символы, кроме
, выполните:
myString = myString.replace(/[^d ]/g,"");
Комментарии:
1. но я хочу только плюс ( ) вы знаете, что мой номер телефона начинается с 90
2. @psygnosis: Извините, я неправильно истолковал ваш вопрос. Просто отредактировал этот ответ решением, которое сохранит знаки .
3. Нет необходимости экранировать
внутри группы символов.
4. спасибо, это сработало, если я использую ту же строку кода.. с именем пользователя только символы алфавита myString.replace(/ W / g,»») это работает?
Ответ №2:
var input = document.getElementById('phone');
input.onkeypress = function(){
input.value = input.value.replace(/[^0-9 ]/g, '');
}