Маска телефона: добавление плюса только к номеру 7 - PullRequest
0 голосов
/ 07 февраля 2020

Код ниже работает нормально, но есть 2 момента, которые я бы хотел учесть в нем.

  1. Добавьте знак + только к ди git 7 (если другие цифры, то без знака +).
  2. Добавьте возможность заменить номер другим номером. Теперь вы можете удалить только с помощью возврата и удалить ключи. Я хотел бы, чтобы также использовались цифровые клавиши.
    var phoneInput = document.querySelectorAll(".i_phone");
    for(var i=0; i < phoneInput.length; i++){
        phoneInput[i].addEventListener("keydown", function(e) {
            "ArrowLeft" != e.key && "ArrowRight" != e.key && "Backspace" != e.key && "Delete" != e.key && "Tab" != e.key && e.preventDefault();
            var t = "+1 (111) 111-11-11";
            if (/[0-9\+\ \-\(\)]/.test(e.key)) {
                var a = this.value,
                n = a.length;
                if(n>0 && e.key=='+');
                else if (/[0-9+]/.test(e.key)){
                    if ("1" == t[n]) 
                    this.value = a + e.key;
                    else if ("+" == t[n]) 
                    {
                        this.value = a + e.key;      
                    }
                    else if ("+" != t[n]) 
                    {
                        for (var r = n; r < t.length; r++) {
                            if ("1" == t[r]) {
                                this.value = a + e.key;
                                break
                            }
                            a += t[r]
                        }
                    }
                    if(this.value.length==1 && this.value!="+")
                    {
                        this.value="+"+this.value;
                    }
                }   
            }
        });
    }

Спасибо за помощь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...