Добавление знаков в номер телефона
Добрый день!
Подскажите пожалуйста можно ли сделать автоматическое добавление знаков в номере телефона? Т.е. например я ввожу номер из 10 цифр (9041112233) и в поле должно автоматически подставиться +7(904)111-22-33 |
|
Сработает при снятии фокуса с поля.
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> </head> <body> <input type="text" id="someid"> <script> document.getElementById('someid').onchange = function() { if ( /^\d{3}\d{3}\d{2}\d{2}$/.exec(this.value) ) { this.value = this.value.replace(/(\d{3})(\d{3})(\d{2})(\d{2})/, function(str, aaa, bbb, cc, dd) { return '+7(' + aaa + ')' + bbb + '-' + cc + '-' + dd; }); } } </script> </body> </html> |
Цитата:
|
Цитата:
|
Вариант маски для ввода номера телефона :write:
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <input oninput="proverka(this)" onfocus="setCursorPosition(3, 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 = "+7(123)456-78-90", i = 0, val = el.value.replace(/\D/g, ''); !val && (val = "7") matrix = matrix.replace(/\d/g, function (a) { return val.charAt(i++) || "_" }) el.value = matrix; i = matrix.lastIndexOf(val.substr(-1)); i < matrix.length && i > 2 ? i++ : (i = 3) setCursorPosition(i, el) }; document.querySelector('input').oninput() </script> </body> </html> |
alert("9041112233".replace(/^(\d{3})(\d{3})(\d{2})(\d{2})$/, '+7($1)$2-$3-$4')); |
Спасибо!
А как это значение в value передать? Я проверку делаю на заполненность поля и получается что в value пусто и форма соответственно не отправляется |
Часовой пояс GMT +3, время: 20:26. |