jquery - 如何在输入时更改输入中的电话号码格式?

我的 CodePen: http://codepen.io/leongaban/pen/cyaAL

我有一个电话号码输入字段,最多允许 20 个字符(国际号码)。

我也在使用 Masked input jQuery plugin由 Josh Bush格式化输入中的电话号码以使其“漂亮”。



  • 我的问题是在电话是10位数或者 less,它应该使用 Masked 输入格式。

  • 但是,当电话号码超过 10 位时, 格式应该被删除。



这是我当前的:CodePen ,手机是我要完成此操作的输入字段。工作电话是 Mask input plugin 的默认功能的一个示例。 .

你会如何解决这个问题?

手机输入框的jQuery:

case '2':
    console.log('created phone input');
    $('.new_option').append(myphone);
    $('.added_mobilephone').mask('(999) 999-9999? 9');
    $('.added_mobilephone').keypress(function(event){

      if (this.value.trim().length > 10) {
        console.log('this.value = '+this.value.trim());
        console.log('greater then 10');
        $('.added_mobilephone').mask('99999999999999999999');
      }

      /*if (this.value.length < 9) {
        console.log(this.value);
        console.log('less then 10');
        $('.added_mobilephone').mask('(999) 999-9999? 9999999999');
      } else if (this.value.length > 9) {
        console.log(this.value);
        console.log('greater then 10');
        $('.added_mobilephone').mask('99999999999999999999');
      }*/
    });
    break;

最佳答案

$("input[name='phone']").keyup(function() {
    $(this).val($(this).val().replace(/^(\d{3})(\d{3})(\d+)$/, "($1)$2-$3"));
});

这肯定会起作用,并且会立即正确处理填充完整字符串(例如,1234567890)。

/* example jquery use */

$("input[name='phone']").keyup(function() {
    $(this).val($(this).val().replace(/^(\d{3})(\d{3})(\d+)$/, "($1)$2-$3"));
});
/* use your css to beautify the form */
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<!-- form input for example user -->
<form>
  <input type="text" name="phone" placeholder="Phone Number" />
</form>

https://stackoverflow.com/questions/17980061/

相关文章:

c# - 如何在 C# 中将 int 格式化为货币?

html - 在 Vim 中格式化和缩进 HTML

java - 如何将数字格式化为十六进制字符串?

javascript - 使用javascript将小数位添加到数字中

c# - 在c#中格式化日期

ruby-on-rails - 格式化时间戳

javascript - 阻止 ReSharper 将 JavaScript 函数参数放入新行

java - 如何在 Java 中使用 String.format()?

eclipse - 如何防止 Eclipse 格式化程序弄乱带有文本符号的注释?

php - php中的PDF导出