bestowhope
@bestowhope
Печатает...

Как запретить ввод в инпут с определенного символа (цифра 6)?

Я обслуживаю определенные ID "Чего-то там".
Каждый ID уникален и начинается с цифры, которая привязывает пользователя к гео.
6 - это Индия. Ее я не обслуживаю. Остальные - пожалуйста.

Есть input поле куда пользователь вводит свой ID для покупки "чего-то там".
Как сделать ему запрет на ввод с определенной цифры?! - То есть не вовсе запретить цифру 6, а только начинать с 6ки.
Вводит 6555 - нельзя.
Вводит 5666 - ради бога.

Можно конечно было бы маской сделать, но количество цифр может быть разное (1234567 или 432526532)
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
bestowhope
@bestowhope Автор вопроса
Печатает...
Вот такая колбаса в итоге вышла... :D

jQuery(document).on("input", "#billing_idverif", function (event) {
        
                var input = event.currentTarget.value;
        var theLanguage = $('html').attr('lang');

                if (input.search(/^6/) != -1) {
                    if ($("#tooltip").length === 0) {
                        
                        if ( theLanguage == "ru-RU" ) {$("<span class='tooltip' id='tooltip'><span class='tooltiptext'>ID, начинающиеся с цифры 6, не обслуживаются</span></span>").appendTo("#billing_idverif_field");}
            else {$("<span class='tooltip' id='tooltip'><span class='tooltiptext'>ID starting with 6 are not served</span></span>").appendTo("#billing_idverif_field");}
            $(".xt_woofc-checkout").css('opacity','0.5').css('pointer-events','none');
            $("#billing_idverif_field label").css('color', '#a00');
            $("#billing_idverif").css('border-color', '#a00');
                    }
        }
        else 
        {
          $("#tooltip").remove();   
          $(".xt_woofc-checkout").css('opacity','1').css('pointer-events','auto').attr("href");
          
          if($("#billing_idverif").val() != ''){
          // Если поле не пустое удаляем класс-указание
            $("#billing_idverif_field label").css('color', '#4284ff');
            $("#billing_idverif").css('border-color', '#6dc22e');
          } else {
          // Если поле пустое 
          }          
          
                }
            });
                $("#billing_idverif").keydown(function (event) {
                    if (event.keyCode == 46 || event.keyCode ==  {
                        // Разрешаем backspace и delete
                    } else {
                        // Запрещаем вводить все, кроме цифр и tab
                        if (event.keyCode !== 9 && event.keyCode !== 13 && event.keyCode !== 17 && event.keyCode !== 86 && (event.keyCode < 48 || event.keyCode > 57)) {
                            event.preventDefault();
                        }
          }
                });
                //Ограничение на длину поля 17 символов
                $("#billing_idverif").prop("maxlength", "17");
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
WblCHA
@WblCHA
Короче, вот регексп, а что с ним делать, надеюсь, сам знаешь.
/^[0-57-9]\d{3,}$/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы