2

这是我的脚本:

    <script type="text/javascript">
    $(document).ready(function () {
        $.validator.addMethod(
        "regex",
        function (value, element, regexp) {
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
        },
        "Matricule Invalide"
);
            $("form").validate({
                rules: {
                    idv: { required: true, regex: "/^(\d{3})TN(\d{4})$/" },
                    dd: { required: true },
                    df: { required: true },
                    remise: { required: true, range: [0, 100] }
                },
                messages: {
                  idv: { required:"champs requis", regex: "Matricule Invalide"},
                  dd: "champs requis",
                  df: "champs requis",
                  remise : { required: "champs requis",
                             range: "Valeur doit entre entre 0 et 100"}
                }
            });
        });
    </script>

IDV 字段必须像这样“111TN000”或“222TN0123”在其他方面它是正则表达式:Number of 3 digets +TN+ Number of Four digets。我已经创建了我的正则表达式"/^(\d{3})TN(\d{4})$/",但是这里的问题是当我把Valide IDV我的 Jquery 函数显示给我时Matricule Invalide,这个相同的正则表达式适用于 Java 和 ASP.net。
我想我在这里遗漏了一些非常简单的东西?

4

2 回答 2

4

假设您正在使用 jQuery validate regex 插件,如本问题所述,您需要删除前导/尾随斜杠并转义正则表达式中的其他斜杠:

idv: { required: true, regex: "^(\\d{3})TN(\\d{4})$" }

示例小提琴


或者,您可以通过删除它周围的引号将其变成一个正则表达式对象:

idv: { required: true, regex: /^(\d{3})TN(\d{4})$/ }

示例小提琴

于 2012-05-28T21:29:12.000 回答
0

我认为你必须删除斜杠

"^(\d{3})TN(\d{4})$"
于 2012-05-28T21:22:27.610 回答