1

我正在使用 jQuery 来验证表单(名字、姓氏和电子邮件)。我已成功验证表单的电子邮件部分,但是我想知道如何验证 firstName 和 lastName 输入字段?

jQuery 验证脚本:

电子邮件验证(工作):

var patt =  /^.+@.+[.].{2,}$/i;

    if(!patt.test(ele.val())) {
        jVal.errors = true;
                    emailInfo.removeClass('correct').addClass('error').html('X').show();
        ele.removeClass('normal').addClass('wrong');
            }else{
                    emailInfo.removeClass('error').addClass('correct').html('√').show();
                    ele.removeClass('wrong').addClass('normal');
            }

        },

名字验证(不工作):

var patt =  /^[a-zA-Z'-]+$/;

        if(!patt.test(ele.val()).length < 2) {
            jVal.errors = true;
                firstNameInfo.removeClass('correct').addClass('error').html('X').show();
                ele.removeClass('normal').addClass('wrong');
        } else {
                firstNameInfo.removeClass('error').addClass('correct').html('&radic;').show()
                ele.removeClass('wrong').addClass('normal');
            }
        },
4

2 回答 2

2

在 html 代码的最后调用https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.15.0/jquery.validate.min.js

$('#formId').validate({
            rules: {
                firstname: {
                    minlength: 3,
                    maxlength: 30,
                    pattern: "^[a-zA-Z_]*$",
                    required: true
                },
                 lastname: {
                    minlength: 3,
                    maxlength: 30, 
                    pattern: "^[a-zA-Z_]*$",
                    required:true
                }
     },
            highlight: function(element) {
                $(element).closest('.form-group').addClass('has-error');
            },
            unhighlight: function(element) {
                $(element).closest('.form-group').removeClass('has-error');
            },
            errorElement: 'span',
            errorClass: 'help-block',
            errorPlacement: function(error, element) {
                if(element.parent('.input-group').length) {
                    error.insertAfter(element.parent());
                } else {
                    error.insertAfter(element);
                }
            }
        });
于 2016-07-01T08:55:47.580 回答
0

我们一定找到了相同的 jquery 表单验证页面......任何我也在用它编写表单并找到你问题的答案的人 - 如果不能帮助其他人,希望你仍然需要它......

   var regex = new RegExp("[0-9]");
   var match = regex.exec($('#firstname').val());
   if(ele.val().length < 2 || match) {
//do stuff

所以 if 的第一部分不相关,但 Match 部分是,检查字符串中是否有任何数字,如果有的话......在我的情况下,我让它显示错误 div ...我不想复制所有代码。

希望这对 Joe CustomWebsites4Less.com 有所帮助

如果您需要一个示例,我应该在一周内将其放在实时站点上...

于 2013-03-04T01:49:09.317 回答