【问题标题】:html/jquery .mask organinzing phone numberhtml/jquery .mask 组织电话号码
【发布时间】:2014-08-17 12:53:46
【问题描述】:

我正在使用:

<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.maskedinput.js" type="text/javascript"></script>
<script>
jQuery(function($){
$("#phone").mask("(999) 999-9999? x99999", {placeholder:" "});
});
</script>

我不知道是我忽略了一些简单的东西还是什么,或者我做错了 html 的东西:

Phone number: <input type="text" id="phone" name="phoneNumber"/>

我的目标是让它看起来像 (999) 999-9999 并隐藏分机。 999,如果他们不需要。但整个脚本根本没有工作或做任何事情。

【问题讨论】:

  • “隐藏分机号 999”是什么意思?如果用户只输入 7 位数字,隐藏 (999) 部分?
  • 就像他们只需要输入 7 位数字一样,如果他们不需要,就不会让他们输入和扩展

标签: jquery mask


【解决方案1】:

您不需要占位符部分。

只需添加

$("#phone").mask("(999) 999-9999? x99999");

编辑

看看这个jsfiddle

【讨论】:

  • 您使用的是什么屏蔽输入版本?查看 EDIT 部分(添加了 jsfiddle)
  • 我从digitalbush.com/projects/masked-input-plugin/#demo 得到了代码,所以无论使用什么......好吧,我可能完全忽略了这一点,但我从来没有使用过jquery,你应该下载一些东西连同这个代码吗?
  • 是的,就是这样。这对我来说完全是愚蠢的。感谢您让我走上正轨
【解决方案2】:

document.getElementById('kisicep_telefonu').addEventListener('input', function(e) {
  var x = e.target.value.replace(/\D/g, '').match(/(\d{0,3})(\d{0,3})(\d{0,4})/);
  e.target.value = !x[2] ? x[1] : '(' + x[1] + ') ' + x[2] + (x[3] ? '-' + x[3] : '');
});
<div class="form-group form-material col-md-6" data-plugin="formMaterial">
  <label class="form-control-label" for="kisicep_telefonu">Cep Telefonunuz</label>
  <span class="required" style="color:red">*</span>
  <input type="text" class="form-control" id="kisicep_telefonu" name="kisicep_telefonu" autocomplete="off" value="" placeholder="(000) 000-0000 ">
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-22
    • 1970-01-01
    相关资源
    最近更新 更多