正则表达式在 jquery 验证插件中不起作用

问题描述 投票:0回答:4

我正在使用下面的代码

$(function() {
    $("#myForm").validate({
        rules: {
            experience: {
                required: true,
                regex: '^[0-9]$'
            }
        },
        messages: {
            experience: {
                required: "Please provide experience",
                regex: "Provide a valid input for experience"
            }
        }
    });
});

但是上面的代码没有将2或22作为有效输入?我做错了什么?需要帮助...

jquery regex jquery-validate
4个回答
15
投票

尝试使用这个正则表达式:

^[0-9]+$

然后将其放入代码中:

$(function() {
   $.validator.addMethod("regex", function(value, element, regexpr) {          
     return regexpr.test(value);
   }, "Please enter a valid pasword.");    

   $("#myForm").validate({
       rules: {
           experience: {
               required: true,
               regex: /^[0-9]+$/
           }
       }
   });
});

这是一个工作演示:

http://jsfiddle.net/4PuJL/1/


4
投票

验证jquery中没有正则表达式方法: 您必须创建自己的正则表达式方法

您需要使用

addmethod

$.validator.addMethod("regx", function(value, element, regexpr) {          
    return regexpr.test(value);
}, "Provide a valid input for experience.");

您的职能:

$(function() {
    $("#myForm").validate({
        rules: {
            experience: {
                required: true,
                regex: /^[0-9]$/
            }
        },
        messages: {
            experience: {
                required: "Please provide experience",

            }
        }
    });
});

在Jquery.validate中添加正则表达式


0
投票

就我而言,我的电子邮件字段有自己的正则表达式模式数据,例如

<input id="email" name="email" data-val-regex-pattern="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"> 

这与我为 JQuery Validation 插件注入的模式冲突。我刚刚删除了这个数据属性并且它起作用了。


-1
投票

您可以在 jQuery 的 .validate() 形式中使用“pattern”关键字代替“regex”。以下是示例代码:

$('#registerForm').validate({
    rules: {
        "customer[is_seller]": {
            required:true
        },
        "customer[fname]": {
            required:true,
            pattern:/^[A-Za-z]+$/
        },
        "customer[lname]": {
            required:true,
            pattern:/^[A-Za-z\s]+$/
        },
        "customer[email]": {
            required:true,
            email:true
        },
        "customer[password]": {
            required:true
        }
    },
    messages:{
        "customer[is_seller]": {
            required:"Please select Your category"
        },
        "customer[fname]": {
            required:"Please enter first name.",
            pattern:"Special characters not allowed"
        },
        "customer[lname]": {
            required:"Please enter last name."
            pattern:"Special characters not allowed"
        },
        "customer[email]":{
            required:"Email Id is required",
            email:"Please enter a valid email."
        },
        "customer[password]":{
            required:"Password is required"
        }
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.