1

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');
            }
        },
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 に役立つことを願っています

例が必要な場合は、これを 1 週間以内にライブ サイトに掲載する必要があります...

于 2013-03-04T01:49:09.317 に答える