javascript - 在 Jquery 中自动格式化电话号码

标签 javascript jquery

我有一个电话号码文本框。我的电话号码应该是 XXX-XXX-XXX 这样的格式。

我得到了 XXX-XXX-XXX 格式的解决方案,但我不知道如何修改该代码。

$('#ssn').keyup(function() {
    var val = this.value.replace(/\D/g, '');
    var newVal = '';
    while (val.length > 3) {
      newVal += val.substr(0, 3) + '-';
      val = val.substr(3);
    }
    newVal += val;
    this.value = newVal;
});

http://jsfiddle.net/ssthil/nY2QT/

最佳答案

由于您使用的是 jQuery,因此可以尝试 jquery masked-input-plugin .

有一个 jsFiddle 适合你 here您可以在其中查看其工作原理。

可以在 GitHub 上找到该项目的源代码 here .

实现非常简单:

HTML:

<input id="ssn"/>

JavaScript:

$("#ssn").mask("999-999-999");

更新:

另一个不错的可以找here .

关于javascript - 在 Jquery 中自动格式化电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10930866/

相关文章:

javascript - 是否可以在浏览器(JavaScript)中找到 url 高度和标签高度?

javascript - 根据字符数和空格数用正则表达式拆分字符串

javascript - 如何防止其他表格元素在向某些TD添加新内容时不改变其位置

javascript - 生长树/分形动画

javascript - 检查父 div 中是否有 <select>

javascript - 无法组合脚本和 php div.innerHTML += "<form action='\"{{route(' stock.store')}}\"' method ='post' >@csrf</form>";

javascript - 无法将 JSON 文本响应中的 & 替换为 &

javascript - 将 PHP 变量传递给外部 JavaScript(或 jQuery)文件的最有效方式

javascript - 如何检测浏览器选项卡当前是否可见并使用 Javascript 呈现?

jquery - 如何使用 jQuery 从 ASP.NET 代码后面调用非静态方法