Проверьте номер телефона в javascript, используя регулярное выражение с такой же функциональностью, как нажатие клавиши - PullRequest
0 голосов
/ 17 октября 2018

Проверка номера телефона в javascript с использованием регулярного выражения с такой же функциональностью, как при нажатии клавиши

$('#phone').keypress(function(e) {
                var a = [];
                var k = e.which;

                for (i = 48; i < 58; i++)
                    a.push(i);

                if (!(a.indexOf(k)>=0))
                    e.preventDefault();
            });

1 Ответ

0 голосов
/ 17 октября 2018

Вот быстрый, рабочий пример. JS Fiddle

<style>
    .invalid {
        border: 2px solid red; 
    }
</style>

<input id="input" type="text" />

<script>
    // save reference to input
    const input = $('#input');

    // save regex to check against
    const regex = new RegExp('^[\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?[0-9]{4,6}$', 'im');

    // on keypress, get user input
    // strip non-digits (1-2 => 12 | 5.6 => 56)
    // run regex test and add/remove class to show validation
    function checkPhoneNumber(){
        const user_input = input.val().replace(/\D/g, ""); // replace any non-digits with nothing
        const valid_phone = regex.test(user_input);
        if (valid_phone){
            input.removeClass('invalid');
        } else {
            input.addClass('invalid');
        }
    }

    // attach listener with function
    input.on('keyup', checkPhoneNumber);
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...