键入时删除特定字符

时间:2017-10-08 14:11:20

标签: javascript jquery

在这段代码中我希望在第一个文本框中有一个09不可更改,之后我想要一定的破折号,当我键入一个数字时,其中一个破折号消失。我的问题是,当用户类型时,我怎么能用破折号?

$('#PhoneField').val('---------09');


$("#PhoneField").keydown(function (e) {
          var inputValue = $(this).val();
          var inputObject = $(this);
          setTimeout(function () {
              if(inputObject.val().indexOf('09')!== 0){
                  inputObject.val('09');
              }

          })
})

1 个答案:

答案 0 :(得分:0)

我相信以下代码会考虑所有要求。此外,可以在JSFiddle here中查看此内容。

$("#PhoneField").val("09---------");

$("#PhoneField").keyup(function () {
  $("#PhoneField").val(function() {
      var phoneNumber = $(this).val().replace(/-/g, "");
      var curLength = phoneNumber.length;
      // Add correct number of hyphens to front of phone number
      var hyphens = Math.max(12 - phoneNumber.length, 0);
      phoneNumber = phoneNumber + Array(hyphens).join("-");
      // If the first characters are not 09, add them
      if(phoneNumber.substring(0, 2) !== "09") {
        phoneNumber = "09" + phoneNumber;
      }
      // Impose length limit
      phoneNumber = phoneNumber.substring(0,11);
      return phoneNumber;
  });
});