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

标签 jquery input formatting phone-number maskedinput

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

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

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

enter image description here

  • 我的问题是在电话是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>

关于jquery - 如何在输入时更改输入中的电话号码格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17980061/

相关文章:

c++ - 堆已损坏

python - 按 enter 键退出 while 循环而不阻塞。我该如何改进这种方法?

jquery - 使用jquery接收gcm消息?

javascript - 使用jquery过滤掉json填充选择框中的重复数据

javascript - 获取 IE/Edge Javascript 中的输入滚动位置(包括 JSFiddle)

ios - NSNumberformatter 在尝试格式化匈牙利货币时显示 "HUF"而不是 "ft"

java - 如何验证输入是否匹配特定的时间戳格式?

jQuery ajax 数据两个变量

jquery - 我自己的迷你 slider ,悬停时停止

VBA,Excel如何设置特定样式而不使用它们的名称?