2016-05-10 4 views
-3

Я использую jQuery для фильтрации ввода, используя .replace для проверки любых нежелательных символов.jQuery Replace Regex

$(this).val($(this).val().replace(/[^0-9\+\W]/gi, "")); 

Просто, я только хочу, чтобы телефонные номера, либо +44 или 0 ведущих. Когда я использую http://Regexr.com с регулярным выражением, /[^0-9\+\W]/gi Я могу получить результаты, которые я хочу. (Все, кроме телефона, удалено).

Моя проблема в том, что я использую одно и то же регулярное выражение с jQuery .replace, я получаю разные результаты. Я не могу использовать ведущие нули, а не ведущие + s.

я установки JSFiddle, чтобы продемонстрировать: FIDDLE

ответ

0

Вы используете тип входа в number, который не позволит тем, так что используйте text как тип вместо

номер: HTML5 Элемент управления для ввод чисел с плавающей запятой. (Из here)

$("#in").on('input', function() { 
 
    $(this).val(function(i, v) { 
 
    return v.replace(/[^0-9\+\W]/gi, ""); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<input id="in" value="help" type="text" />

+0

ах здорово, спасибо за вашу помощь :) –

+0

@Simon. : рад помочь –

+0

И теперь вы можете ввести '++++++' в поле. –