0

追加のドメインを含む電子メール アドレスを検証する必要があります。現在、通常の電子メールを@email.comで検証していますが、 を含む電子メールを検証する必要があります@email.email.com。私は正規表現に十分に精通していません。

$.validator.addMethod('matches', function (value, element, param) {
    return this.optional(element) || value.match(param);
},
'Please enter a valid value.');

$(function() {

 $("form").validate({

            rules: {
                email: {
                    required: true,
                    email: true,
                    matches: '.+@email.com'
                }
            }, messages: {
                email: {
                    matches: 'Must be a email.com e-mail address.'
                }
            }
        });
  });
4

2 に答える 2

1

RegExpを使用できるように、任意の(通常の)電子メールを2つの部分からなるトップレベルドメイン*@google.co.ukと一致させるには、ドメインセクションの2〜3語の部分と一致します。

var emailRegExp = /[a-zA-Z0-9._-]@[a-zA-Z0-9-]+\.\w+(\.\w+)?/
...
// in your code
matches: emailRegExp

RegExpは次のように説明しています。

  • 名前の部分[a-zA-Z0-9._-]は、通常の文字、.および_-

  • ドメイン名の部分[a-zA-Z0-9-]は名前とほぼ同じですが、また.はなし_

  • トップレベルドメインの部分は、、などの\.\w+(\.\w+)?単一のtldだけでなく、二重のtldにも一致します。.com.net.co.uk.co.jp.foo.bar

RegExpは非常に短いものです。正しい電子メール検証に本当に興味がある場合は、RFC822-Spec(SCNR:D)を参照してください。

于 2012-05-31T21:28:30.110 に答える
0

これは、電子メールが組織に属していることを検証する jquery validate で機能しました。私は本当に近くにいましたが、いくつかのことが必要になるとは思いませんでした.

(.+@+[A-Za-z0-9._-]+\\.email.com$)|(.+@email.com$)
于 2012-05-31T21:56:37.213 に答える