javascript - 强制用户以特定格式填写电话文本字段

标签 javascript jquery validation

我有文本字段让用户填写他的电话号码,但我需要强制该用户以如下特定格式填写:(0599)-9-111222。

我的代码是:

function fomratPhone(phone){
     for(var i = 0; i < phone.length; i++){
         if (phone[0] == "(") continue;
         else return false; 

         if (phone[5] == ")") continue;
         else return false;   

         if (phone[6] == "-" || phone[8] == "-") continue;
         else return false; 
     }
     return true; 
}

但是这段代码不起作用。

最佳答案

另一种选择是 jQuery inputmask plugin

<input type="text" name="phone" id="phone" />

<!-- include jQuery & inputmask plugin -->
<script type="text/javascript">
    $(function(){
        $("#phone").inputmask("mask", {"mask": "(9999)-9-999999"});
    });
</script>

这只是 NF 提供的另一种变体。我没有用过 NF 提到的那个,但是我用过这个没有问题。此外,因为它是一个 github 项目,如果您发现错误或进行更正,您可以 fork 该项目并创建一个包含任何新添加内容的拉取请求。

关于javascript - 强制用户以特定格式填写电话文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17086822/

相关文章:

javascript - 如何阻止 iframe 预加载

javascript - 如何防止在表单中输入无效字符?

javascript - AngularJS - 如何检查指令内的复选框?

javascript - 比较alasql中的日期对象

javascript - 使 a.active 与背景图像幻灯片一起工作

javascript - 在人力车、jquery 或 d3.js 中显示图像悬停图

javascript - 仅将 CSS 规则应用于 <tr> 中的第一个 <td> 而不分配类/id?

java - 验证 javax.persistence 注释?

mysql - codeigniter 表单验证和 ajax 查找以查看名称是否存在

javascript - 如何使用 div 元素和输入的组合来增加价格?