【问题标题】:How to allow only phone numbers in a text box and space them automatically? [duplicate]如何在文本框中只允许电话号码并自动分隔它们? [复制]
【发布时间】:2017-06-29 21:46:21
【问题描述】:

疯狂的长标题是为了避免被标记为重复。

我有一个用于输入 10 位美国电话号码的文本框,例如222-333-4444。我希望在用户输入更多数字时自动添加破折号,类似于 Chrome 处理box flagged as a date 的方式。斜线出现了,但不是真的……在那里。键入 8 个数字会填满日期框。

我还希望个数字能够添加到文本框中,并且不超过 10 个。

似乎必须有一个框架可供我使用——这个问题不可能是独一无二的。

我现在只是偶尔插入斜线。

<script>
    $(document).ready(function () {
        var textBox = $("#PhoneNumber");
        $(textBox).keyup(function () {
            var val = textBox.val().replace(/-/g, "");
            val = val.match(/\d{3}(?=\d{2,3})|\d+/g).join("-");
            textBox.val(val);
        });
    });
</script>

【问题讨论】:

  • 向我们展示您迄今为止为解决此问题所做的工作。
  • 为此检查 JQuery 掩码
  • 避免被标记为重复项 ... 这个问题不可能是独一无二的... 它是什么?
  • 使用某种面具。即使是现代 mfc 也有掩码编辑控件。我的意思是,你可以使用 onkeyup 的事件处理程序来破解它,但为什么要麻烦。
  • @Mike 这个问题不可能是独一无二的,但我发现的其他问题都没有与我的问题相同。

标签: javascript c# jquery asp.net asp.net-mvc


【解决方案1】:

JQUery 掩码可能是您正在寻找的: https://igorescobar.github.io/jQuery-Mask-Plugin/

一旦包含,那么它就像

一样简单
  $('.phone').mask('0000-0000');
  $('.phone_with_ddd').mask('(00) 0000-0000');
  $('.phone_us').mask('(000) 000-0000');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2016-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多