【发布时间】:2014-11-25 04:37:18
【问题描述】:
我想让用户的输入自动填充电话号码的标点符号,使其看起来像 (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>
【问题讨论】:
-
我可以使用@Felix 修复,但我注意到,当有人想更改他们的号码时,此代码不允许有人这样做。你如何使它成为一个占位符类型输入,他们可以删除他们的数字并重新输入?
标签: javascript jquery phone-number