使用自定义自动填充功能验证Parsley.js电话号码

时间:2016-12-08 16:35:24

标签: javascript jquery html5 forms parsley.js

我正在使用Parsley表单验证处理表单,并且遇到了最后一个问题,然后才开始。这是我第一次使用Parsley。

我有一些自定义脚本来自动填充连字符和括号:

Instance

当在表单字段中进行选项时,要仔细检查一切是否正常并且我到达电话号码字段,第一个括号自动填充,然后当我提交表单时,Parsley接受它作为有效的电话号码。这是HTML:

<script type="text/javascript">
        $("#inf_field_Phone1").on("change keyup paste", function () {
            var output;
            var input = $("#inf_field_Phone1").val();
            input = input.replace(/[^0-9]/g, '');
            var area = input.substr(0, 3);
            var pre = input.substr(3, 3);
            var tel = input.substr(6, 4);
            if (area.length < 3) {
                    output = "(" + area;
            } else if (area.length == 3 && pre.length < 3) {
                    output = "(" + area + ")" + " " + pre;
            } else if (area.length == 3 && pre.length == 3) {
                    output = "(" + area + ")" + " " + pre + "-" + tel;
            } 
            $("#inf_field_Phone1").val(output);
    });
    </script>

这可能是无关的,但为了以防万一,这里是将Parsley绑定到形式的js:

<form accept-charset="UTF-8" id='become-partner-form' method="POST" name='Form'>    
    <div class="col-md-6">
        <input type="tel" class="form-control tc-custom-focus" id="inf_field_Phone1" name="inf_field_Phone1" placeholder="Phone*" data-parsley-trigger='change' data-parsley-required>
</div>

如果你需要一个小伙伴或任何帮助,请告诉我(我不会在这里发布很多!) 关于如何在没有完整有效电话号码的情况下提交表单的任何想法?

1 个答案:

答案 0 :(得分:0)

首先,您可能希望使用input事件代替change(在您的案例中无用),keyuppaste

Parsley使用input事件,因此只要您的代码在parsley之前运行(即如果您在Parsley之前绑定自动填充代码),那么您应该没问题。