sql >> データベース >  >> RDS >> PostgreSQL

メールアドレスを検証するPostgres関数

    これらの答えの多くは近い 正しい方法に。これらが私の提出のポイントです。

    • ドメインを使用したい-ルールシステムではありません。
    • これらのメールアドレスを正規表現で検証したくない (2017年3月の更新:もう本当ではありません)

    DBA.StackExchange.comでこれを正しく行う2つの方法を示します 。 MXレコードをチェックするためと、HTML5仕様を使用するための両方。これが短くて甘いです。

    CREATE EXTENSION citext;
    CREATE DOMAIN email AS citext
      CHECK ( value ~ '^[a-zA-Z0-9.!#$%&''*+/=?^_`{|}~-][email protected][a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$' );
    
    SELECT '[email protected]'::email;
    SELECT CAST('[email protected]' AS email);
    

    詳細については、非常に 回答全体を読む ことをお勧めします 。回答では、 DOMAINを作成する方法も示しています Email::Validを介して 、そしてなぜ私がその方法を使わなくなったのか説明してください。



    1. 1つのエンティティクラスの1つの列に2つの異なるテーブルmanytooneマッピングを作成しようとしています

    2. Odp.Net-クライアントとサーバーによって異なります

    3. minikubeからPostgresqlを実行する際の権限の問題を解決するにはどうすればよいですか?

    4. jQueryValidatorプラグイン-mysqlデータベースにある既存のユーザー名/メールを確認します