test phone number

by dtnguyen_1608

HTML

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<input type="text" class="birdthday-Validate" value="" />

JavaScript

$('.birdthday-Validate').keydown(function(e) {
  var str = $(this).val();
  var key = window.event ? event.keyCode : event.which; //?
  if (str.length === 0) {
    if (event.key == '(' || event.keyCode == 8) //ed
      return true;
    else
      return false;
  } else if (str.length === 1) {
    if (event.key == '+' || event.keyCode == 8) //?
      return true;
    else
      return false;
  } else if (str.length > 3) {

    if (event.key == ')' || event.keyCode == 8)
      return true;
    else
      return false;

    for (var i = 3; i <= str.length; i++) {
      console.log("hih :" + this.value.charAt(i));
      if (this.value.charAt(i) == ')') {
      if (event.key == ')')
        return false;
      }

    }

  }
  //event.keyCode == 8 || 
  else if (event.keyCode == 8 || event.keyCode == 46 || event.keyCode == 9 || event.keyCode == 13 || event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40 || event.keyCode == 144 || event.key == 96 || event.keyCode == 97 || event.keyCode == 98 || event.keyCode == 99 || event.keyCode == 100 || event.keyCode == 101 || event.keyCode == 102 || event.keyCode == 103 || event.keyCode == 104 || event.keyCode == 105) {
    return true;
  } else if (event.key == '!' || event.key == '@' || event.key == '#' || event.key == '$' || event.key == '%' || event.key == '^' || event.key == '&' || event.key == '*' || event.key == '(' || event.key == ')') { //ed
    return false;
  } else if (key < 48 || key > 57) {
    return false;
  } else {
    return true;
  }


});
//add 107
//backspace	8 tab	9 enter	13 delete	46 left arrow	37
//up arrow	38
//right arrow	39
//down arrow	40numpad 0	96
//numpad 1	97
//numpad 2	98
//numpad 3	99
//numpad 4	100
//numpad 5	101
//numpad 6	102
//numpad 7	103
//num lock	144
//equal sign	187