编程语言
首页 > 编程语言> > javascript – 自动填充括号和连字符的电话号码输入jquery

javascript – 自动填充括号和连字符的电话号码输入jquery

作者:互联网

我希望用户的输入自动填充电话号码的标点符号,如下所示(xxx)xxx-xxxx.我写了一个示例jfiddle here,但填写电话号码的最后4位数时会中断.

$("#phone").on("change keyup paste", function () {
    var output;
    var input = $("#phone").val();
    input = input.replace(/[^0-9]/g, '');
    var area = input.substr(0, 3);
    var pre = input.substr(3, 4);
    var tel = input.substr(6, 4);
    if (area.length < 3) {
        output = "(" + area;
    } else if (area.length == 3 && pre.length < 3) {
        output = "(" + area + ")" + " " + pre;
    } else if (area.length == 3 && pre.length == 3) {
        output = "(" + area + ")" + " " + pre + "-" + tel;
    }
    $("#phone").val(output);
});

HTMl:
<input id='phone'></input>

解决方法:

当您从数字中获取预编码时,您尝试获得4的索引,而不是4位数.所以改变它,它应该开始工作:

var pre = input.substr(3, 3);

如果您不想进行动态填充,则其他已发布的答案可能会有用.

标签:jquery,javascript,phone-number
来源: https://codeday.me/bug/20190528/1172167.html