Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ввод цифр в поле телефона (https://javascript.ru/forum/jquery/47260-vvod-cifr-v-pole-telefona.html)

Yaroma11 16.05.2014 12:08

Ввод цифр в поле телефона
 
Здравствуйте, можно ли в данной конструкции сделать строго ввод цифр?
jquery-2.1.1
$mWindowBody.find('input[name="phone"]').mask('+375 (00) 000-00-00');

krasovsky 16.05.2014 13:13

высмысле запрет ввода букв? на onkeydown или keypress проверяй код символа
if (event.keyCode < 48 || event.keyCode > 57) {
        return false;
    }

Yaroma11 16.05.2014 13:25

Цитата:

Сообщение от krasovsky (Сообщение 312031)
высмысле запрет ввода букв?[/JS]

Точнее, запрет любых символов отличных от цифр, а такой код лишит нас возможности, например, копипаста и бэкспейса)

рони 16.05.2014 13:39

Маска для ввода телефона
 
Yaroma11,
http://javascript.ru/forum/misc/4703...tml#post310626
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
    <input oninput="proverka(this)" onfocus="setCursorPosition(6, this)" >
    <script>
function setCursorPosition(pos, elem) {
        elem.focus();
        if (elem.setSelectionRange) {
            elem.setSelectionRange(pos, pos);
        } else if (elem.createTextRange) {
            var range = elem.createTextRange();
            range.collapse(true);
            range.moveEnd('character', pos);
            range.moveStart('character', pos);
            range.select();
        }
    }

    function proverka(el) {
        var matrix = "+375 (00) 000-00-00",
            i = 0,
            val = el.value.replace(/\D/g, '');
            !val && (val = "375")
        matrix = matrix.replace(/\d/g, function (a) {
            return val.charAt(i++) || "_"
        })
        el.value = matrix;
        i = matrix.lastIndexOf(val.substr(-1));
        i < matrix.length && i > 3 ? i++ : (i = 6)
        setCursorPosition(i, el)
    };
   document.querySelector('input').oninput()
  </script>
</body>

</html>

Yaroma11 16.05.2014 13:56

рони,
Спасибо


Часовой пояс GMT +3, время: 02:44.