Javascript 为美国编号设置输入字段格式

Javascript 为美国编号设置输入字段格式,javascript,jquery,Javascript,Jquery,我有一个小问题,我的代码,我无法破解它,我想要的格式是 +1 (888) 123-4567 . 然而,我已经实现了这个(544)-646-4646格式。但是我不知道如何才能得到已经写入的+1,当有人键入数字时,剩余的应该按照上面的示例进行格式化 所以简单地说,我需要+1已经被输入,当用户输入时,rest将给出与代码相同的格式 这是密码 $(文档).ready(函数(){ /***电话号码格式***/ $(“.phone格式”).keypress(函数(e){ 如果(e.which!=8&&

我有一个小问题,我的代码,我无法破解它,我想要的格式是 +1 (888) 123-4567 . 然而,我已经实现了这个(544)-646-4646格式。但是我不知道如何才能得到已经写入的+1,当有人键入数字时,剩余的应该按照上面的示例进行格式化

所以简单地说,我需要+1已经被输入,当用户输入时,rest将给出与代码相同的格式

这是密码

$(文档).ready(函数(){
/***电话号码格式***/
$(“.phone格式”).keypress(函数(e){
如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
返回false;
}
var curchr=this.value.length;
var curval=$(this.val();
if(curchr==3&&curval.indexOf(“”-1){
$(此).val(曲线+“”-“”);
}else if(curchr==5&&curval.indexOf(“)”>-1){
$(此).val(曲线+“-”);
}else if(curchr==9){
$(此).val(曲线+“-”);
$(this.attr('maxlength','16');
}
});
});

您可以尝试以下方法:

<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

</head>
<body>
<input class="phone-format" value="+1 "  type="text" placeholder="Phone Number">
</body>


</html>

在js文件中:

$(document).ready(function(){
  /***phone number format***/
  $(".phone-format").keypress(function (e) {
    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
      return false;
    }
    var curchr = this.value.length;
    var curval = $(this).val();
    if (curchr == 6 && curval.indexOf("(") <= -1) {
      $(this).val(curval.substring(0, 2) + " (" + curval.substring(3) + ")" + "-");
    } else if (curchr == 7 && curval.indexOf("(") > -1) {
      $(this).val(curval + ")-");
    } else if (curchr == 8 && curval.indexOf(")") > -1) {
      $(this).val(curval + "-");
    } else if (curchr == 12){
      $(this).val(curval + "-");
      $(this).attr('maxlength', '16');
    }
  });
});
$(文档).ready(函数(){
/***电话号码格式***/
$(“.phone格式”).keypress(函数(e){
如果(e.which!=8&&e.which!=0&&e.which<48 | e.which>57)){
返回false;
}
var curchr=this.value.length;
var curval=$(this.val();
if(curchr==6&&curval.indexOf(“”-1){
$(此).val(曲线+“”-“”);
}else if(curchr==8&&curval.indexOf(“)”>-1){
$(此).val(曲线+“-”);
}否则如果(curchr==12){
$(此).val(曲线+“-”);
$(this.attr('maxlength','16');
}
});
});
尝试

您只需要指定输入的掩码/格式,它就可以完成任务

$(窗口).load(函数()
{
$(#phone')。输入掩码({“掩码”:“+1(999)999-9999”});
});


keep value='+1',Manipulate Further我这样做了,但这不起作用。如果下面的任何答案解决了您的问题,最好通过向上投票并将答案标记为已解决来将此问题标记为已解决