Javascript 如何在文本框中只允许电话号码并自动将其隔开?

Javascript 如何在文本框中只允许电话号码并自动将其隔开?,javascript,c#,jquery,asp.net,asp.net-mvc,Javascript,C#,Jquery,Asp.net,Asp.net Mvc,疯狂的长标题是为了避免被标记为重复 我有一个文本框,用于输入10位数的美国电话号码,例如222-333-4444。我希望在用户键入更多数字时自动添加破折号,类似于Chrome处理数字的方式。斜线出现了,但不是真的。。。那里键入8个数字填充日期框 我还希望只能将数字添加到文本框中,并且不能超过10 看起来一定有一个框架,我可以用它来解决这个问题——这个问题不可能是唯一的 我现在有的只是偶尔插入斜线 <script> $(document).ready(function () {

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

我有一个文本框,用于输入10位数的美国电话号码,例如
222-333-4444
。我希望在用户键入更多数字时自动添加破折号,类似于Chrome处理数字的方式。斜线出现了,但不是真的。。。那里键入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>

$(文档).ready(函数(){
var textBox=$(“#电话号码”);
$(文本框).keyup(函数(){
var val=textBox.val();
val=val.match(/\d{3}(?=\d{2,3})|\d+/g);
textBox.val(val);
});
});

JQUery掩码可能就是您要寻找的:

一旦包括在内,就很容易了

  $('.phone').mask('0000-0000');
  $('.phone_with_ddd').mask('(00) 0000-0000');
  $('.phone_us').mask('(000) 000-0000');

向我们展示您迄今为止在尝试解决此问题方面所做的工作。为此签出JQuery掩码避免被标记为重复项。。。这个问题不可能是唯一的。。。是哪一个?用某种面具。即使是现代的mfc也有遮罩编辑控件。我的意思是,你可以使用onkeyup事件处理程序来破解它,但是为什么要麻烦呢?@Mike这个问题不可能是唯一的,但是我发现的其他问题都没有我的问题。