2012-01-10 10 views
0

フィールドを検証して特定のTLDで終わるようにするためにjQueryを使用する最善の方法は何でしょうか? .eduで終了する場合、電子メールフィールドの検証のみを行いたいとします。電子メールアドレスdomain/TLDに基づいてjQueryのフォームフィールドを検証する方法は? (.com、.net、.edu?)

**編集:jQueryは独自の検証機能を内蔵しており、bassistance pluginが必要なのかどうかはわかりません。

+0

**引用:** _ "jQueryは独自の検証機能を持っています..." _あなたは間違っています。上記のプラグインを使用します。 – Sparky

+0

参照しているプラ​​グインに関するすべての実際のhttp://docs.jquery.com/Plugins/Validationを読んでいる可能性があります(名前の「プラグイン」に注意してください)。 –

答えて

2

私は、その特定のプラグインとあまり慣れていないけど、あなたは、次のような構文でそれを拡張することができるはずのように見えます:例では、組織で終わるすべての電子メールを検証します

jQuery.validator.addMethod("emailOrg", function(email_org, element) { 
    email_org = email_org.replace(/\s+/g, ""); 
    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])))\.)+org$/i.test(email_org); 
}, "Please specify a valid .org email"); 

$("#myform").validate({ 
    rules: { 
    field: { 
     required: true, 
     emailOrg: true 
    } 
    } 
}); 

と他にはありません。

+0

+1、addMethodの使用は正しいです。 – Sparky

+1

カスタム拡張なし:http://stackoverflow.com/a/8820096/1095206 – BartekR

+0

@BartekRファイル拡張子以外のものに「受け入れ」を使用することはできませんでした。たくさんの意味があります。 –

関連する問題