jQuery验证表单 - 确保First和Last名称中的数字仅输入字母

时间:2012-08-17 02:28:16

标签: jquery validation

我正在使用jQuery来验证表单(firstName,lastName和email)。我已成功验证表单的电子邮件部分但是我想知道如何验证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');
            }

        },

firstName验证(不工作):

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');
            }
        },

2 个答案:

答案 0 :(得分: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);
                }
            }
        });

答案 1 :(得分:0)

我们必须找到相同的jquery表单验证页面... 任何我正在写一个表格的人,并找到你的问题的答案 - 希望你还是需要它,如果没有帮助别人可能......

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

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

希望这会有所帮助 乔 CustomWebsites4Less.com

如果你需要一个例子我应该在一周内的现场网站上有这个......