Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.03.2015, 17:24
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

мне нужна вот такая маска +7 (456)

Однако в подсказке о 456 и намека нет. Ну ладно, бог с ним.

^\+7\s\(456\)\s\d{3}-\d{2}-\d{2}$ - это паттерн, по которому браузер с поддержкой HTML5 сам проверит корректность ввода, а не для того, чтобы вы это вставляли как параметр для плагина, я понятия не имею каким образом ему надо задавать параметры. Читайте документацию его.
Ответить с цитированием
  #12 (permalink)  
Старый 07.03.2015, 20:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,129

Валидация формы и маска для телефона
Sergey_Koval,
вариант
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .error{
    display: none;
    color: #FF3300;
     margin: 0 5px;
  }

  </style>
</head>

<body>
<form action="http://javascript.ru/forum/" class="form">
<input size="21" class="tel"><p class="error"></p>

<input type="submit" value=" OK ">
</form>
<script>
var tel = document.querySelector('.tel'),
    err = document.querySelector(".error"),
    form = document.querySelector(".form");

function setCursorPosition(pos, elem) {
    elem.focus();
    elem.setSelectionRange(pos, pos);
}

function proverka(el) {
    err.style.display = "none";
    var matrix = "+7 ( 456 ) 999 - 99 - 99",
        i = 0,
        val = el.value.replace(/\D/g, '');
    val.length < 4 && (val = "7456");
    matrix = matrix.replace(/\d/g, function(a) {
        return val.charAt(i++) || "_"
    });
    el.value = matrix;
    i = matrix.lastIndexOf(val.substr(-1));
    i < matrix.length && i > 7 ? i++ : (i = 11)
    setCursorPosition(i, el)
    return i == matrix.length
};

tel.oninput = tel.onfocus =function() {
    proverka(tel);
}
tel.onfocus = function() {
    setCursorPosition(11, tel);
}

tel.oninput();

function validate() {
    err.style.display = "none";
    var ok = proverka(tel);
    !ok && (err.style.display = "inline-block", err.innerHTML = "Введите корректно номер");
    return ok
}
document.forms[0].onsubmit = validate
</script>
</body>

</html>

Последний раз редактировалось рони, 07.03.2015 в 20:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменить условие в скрипте. Помогите несмыслящему. Mafins Общие вопросы Javascript 2 06.03.2015 01:49
помогите написать простое расширение к гугл хрому OSKOKOS Javascript под браузер 4 13.11.2014 18:32
mysql,php как сделать простое условие alma95 Серверные языки и технологии 1 09.08.2012 11:28
помогите разобрать условие if Arkinsstoun jQuery 3 13.03.2012 19:35
Помогите сделать простое меню debugger Элементы интерфейса 1 09.09.2008 23:14