0

私はこれに頭を悩ませてきました。私は jQuery Validate を使用したことがなく、アプリケーション フォーム用に独自の検証スクリプトを作成しました。唯一のことは、名と姓のフィールドを除いて、フォームのすべてが正常に検証され、文字の代わりにスペースを使用できるようになり (これは望ましくありません)、文字のみを受け入れ、スペースや数字は受け入れないようにしたいということです。

唯一のことは、私はそれを行うことができないということです。姓と名のフィールドに何も挿入されていない場合は検証されず、2 つのフィールドに実際に何かがない限り、フォームの 2 ページ目に進むことはできません。

悲しいことに、フィールドの両方にスペースを入れるだけで、それが受け入れられます..良くありません..また、数字を使用することもできますが、これも良くありません.

両方のフィールドで文字のみを許可したいので、いくつか試してみましたが、役に立ちませんでした。

これら 2 つのフィールドの検証を行うコードは次のとおりです。

if(firstname!="" && firstname.match(/^[a-zA-Z_]$/))  {
            $("#FirstName").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your First Name").show();
            $("#FirstName").parent("label").css('color','#FF0000');
        }
        if(surname!="" && surname.match(/^[a-zA-Z_]$/))  {
            $("#Surname").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your Last Name").show();
            $("#Surname").parent("label").css('color','#FF0000');
        }
4

1 に答える 1

1

このように確認できます。

if(firstname!="" && (firstname.match(/^[a-zA-Z]$/) !== null))  {
            $("#FirstName").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your First Name").show();
            $("#FirstName").parent("label").css('color','#FF0000');
        }
        if(surname!="" && (surname.match(/^[a-zA-Z]$/) !== null))  {
            $("#Surname").parent("label").css('color','#444');
        }else {
            $(".errors").append("<br/>Please enter your Last Name").show();
            $("#Surname").parent("label").css('color','#FF0000');
        }

ただし、さまざまな人が「ヴァンダム」などの姓を持っているため、一般的に姓/姓にスペースを許可することをお勧めします.

編集

文字のみを意図していたので、アンダースコアを許可しないように正規表現からアンダースコアを削除しました。

于 2013-08-21T15:03:49.060 に答える