ActiveHub
.hub
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
udf_ValidateEmailFormat
Parameters
Name
Type
Mode
@EmailAddress
varchar
IN
Definition
--DROP FUNCTION hub.udf_ValidateEmailFormat; CREATE FUNCTION hub.udf_ValidateEmailFormat ( @EmailAddress VARCHAR(255)) RETURNS BIT WITH SCHEMABINDING AS BEGIN DECLARE @EmailIsValid BIT = (CASE WHEN @EmailAddress IS NULL THEN 0 WHEN LEN(@EmailAddress) = 0 THEN 0 WHEN @EmailAddress LIKE '%[^a-z,0-9,@,.,!,#,$,%%,&,'',*,+,--,/,=,?,^,_,`,{,|,},~]%' THEN 0 --First Carat ^ means Not these characters in the LIKE clause. The list is the valid email characters. WHEN @EmailAddress NOT LIKE '%_@%_.[a-z,0-9][a-z]%' THEN 0 WHEN @EmailAddress LIKE '%@%@%' THEN 0 WHEN @EmailAddress LIKE '%..%' THEN 0 WHEN @EmailAddress LIKE '.%' THEN 0 WHEN @EmailAddress LIKE '%.' THEN 0 WHEN CHARINDEX('@', @EmailAddress) > 65 THEN 0 ELSE 1 END); RETURN @EmailIsValid; END;