Подскажите где может быть ошибка в коде ? При проверке на количество символов и соотвецтвие мобильным операторам , кнопка сабминт должна быть блокирована , но этого не происходит . Подскажыте может чего незаметил? 
вот код : 
<form action="" autocomplete="off">
<input  id="phone" type="text" autocomplete="off" class="telephone"   value="Введите Ваш номер" name="input" > 
<div class="nambers">
<button id="0" class="0 btn">0</button>
<button id="1" class="1 btn">1</button>
<button id="2" class="2 btn">2</button>
<button id="3" class="3 btn">3</button>
<button id="4" class="4 btn">4</button>
<button id="5" class="5 btn">5</button>
<button id="6" class="6 btn">6</button>
<button id="7" class="7 btn">7</button>
<button id="8" class="8 btn">8</button>
<button id="9" class="9 btn">9</button>
<button id="10"class="l0 btn">10</button>
<button id="enter" class="entr btn"   type="submit">Enter</button>
<button id="backspace"  class="backspace btn">backspace</button>
</form>
(function($){
var checkMobileOperator = function(){
//var operators  = window.operators;
var operators = [{code:'909', 'name':'Beeline'}, {code: '921', name: 'MTS'}];
console.log(operators[0])
this.check = function(value){
value = value.replace(/(?:^(7|\+7|8))*(?:\(|\))/g,'');
if (value.length == 9) {
var code = value.substr(0,3);
    for (var i = 0, len =  operators.length; i < len; i++) {
        if ( operators[i].code === code)
            return operators[i].name; 
    }
    return null; 
}
}
}
var CheckMobileOperator = new checkMobileOperator();
var form = $('form'),
input = $('#phone', form),
submit = form.find('#enter');
submit.prop('disabled','disabled');
console.log(input)
input.on('keydown', function(e){
	
if (!((which >= 48 && which <= 57) || which == 13)){
 e.preventDefault();
 return false;
 
}
!!checkMobileOperator.check(input.val()) && submit.removeprop('disabled');
});
})(jQuery)