【问题标题】:jQuery Validation Form - Ensure no numbers in First and Last name input only lettersjQuery验证表单 - 确保名字和姓氏中没有数字只输入字母
【发布时间】:2012-08-17 02:28:15
【问题描述】:

我正在使用 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');
            }
        },

【问题讨论】:

  • 为什么要重新发明轮子? jQuery Validation plugin 已内置此功能。
  • reinvented the wheel 但对酸!
  • @user1584751 这里是an answer 我不久前发布了一个类似的问题。
  • 感谢大家,验证 jQuery 脚本正在正确验证我的表单。 :)

标签: jquery validation


【解决方案1】:

在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);
                }
            }
        });

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-08
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      相关资源
      最近更新 更多