Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

T-SQL:sprawdzanie formatu wiadomości e-mail

Przetestowałem następujące zapytanie z wieloma różnymi błędnymi i poprawnymi adresami e-mail. Powinien załatwić swoje zadanie.

IF (
     CHARINDEX(' ',LTRIM(RTRIM(@email_address))) = 0 
AND  LEFT(LTRIM(@email_address),1) <> '@' 
AND  RIGHT(RTRIM(@email_address),1) <> '.' 
AND  CHARINDEX('.',@email_address ,CHARINDEX('@',@email_address)) - CHARINDEX('@',@email_address ) > 1 
AND  LEN(LTRIM(RTRIM(@email_address ))) - LEN(REPLACE(LTRIM(RTRIM(@email_address)),'@','')) = 1 
AND  CHARINDEX('.',REVERSE(LTRIM(RTRIM(@email_address)))) >= 3 
AND  (CHARINDEX('[email protected]',@email_address ) = 0 AND CHARINDEX('..',@email_address ) = 0)
)
   print 'valid email address'
ELSE
   print 'not valid'

Sprawdza te warunki:

  • Brak osadzonych spacji
  • „@” nie może być pierwszym znakiem adresu e-mail
  • ”. nie może być ostatnim znakiem adresu e-mail
  • Musi być „.” gdzieś po „@”
  • znak „@” jest dozwolony
  • Nazwa domeny powinna kończyć się rozszerzeniem co najmniej 2 znaków
  • nie może mieć wzorców, takich jak „[email protected]” i „..”


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SSMS 2016 Błąd podczas importowania Azure SQL v12 bacpac:klucze główne bez hasła nie są obsługiwane

  2. Czy można uzyskać dostęp do bazy danych .mdf bez SQL Server?

  3. Uruchamianie programu SQL Server 2014 na maszynie wirtualnej platformy Azure

  4. Jak wyświetlić listę plików w folderze z SQL Server

  5. Błąd programu SQL Server 7222:„Tylko dostawca programu SQL Server jest dozwolony w tym wystąpieniu”