0

フォーム全体を検証するために単一の関数を必要とする大きなフォームがあります。

私のフォーム名は「orderform」です。フォームの最後にすべてが正しく設定されているので、関数に追加するだけです。

メールアドレスが入力され、有効であることを確認する必要があります。「メールアドレス」と呼ばれる形式で、これが発生するように関数に何を含める必要がありますか?

また、2 つのラジオ ボタンがあり、1 つを選択すると何も起こらないようにする必要がありますが、もう 1 つを選択すると、他のアドレスなどの別のセクションが検証されます。

誰か手を貸してくれませんか?

最後に簡単なことですが、数値フィールドを検証し、特定の長さ (郵便番号など) であることを確認するにはどうすればよいでしょうか。

みんな、ありがとう!!!!

4

2 に答える 2

1

以下を使用して、フォーム内の情報にアクセスできます。

document.yourformname.elementname

それらを検証する方法を確認するために、QuirksModeには、必要なラジオやチェックボックスを含む、非常に優れた紹介があります。フォームの検証は、1 回の投稿で答えるには大きすぎます。;)

于 2012-04-30T04:12:29.210 に答える
1

これはよくあることです。JS 検証プラグインまたはフレームワークを確認しましたか? それらのほとんどには、必須フィールド、数字、メールアドレスなどの一般的な検証パターンが既にあります。

jQuery Validationには、電子メール アドレス、数字、URL のバリデータが組み込まれています。また、独自のバリデーターを追加することもできます。

バリデーターが "INFO" TLD で私の電子メール アドレスを受け入れない Web サイトが失われているのを見てきました。電子メール アドレスを検証する正規表現はそれほど単純ではありません。以下は jQuery Validator からの抜粋です。

/**
 * jQuery Validation Plugin 1.9.0
 *
 * http://bassistance.de/jquery-plugins/jquery-plugin-validation/
 * http://docs.jquery.com/Plugins/Validation
 *
 * Copyright (c) 2006 - 2011 Jörn Zaefferer
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */
// http://docs.jquery.com/Plugins/Validation/Methods/email
    email: function(value, element) {
        // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/
        return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(value);
    },
于 2012-04-30T04:08:58.253 に答える