Shashwath7 Ответов: 5

Чтобы проверить адрес электронной почты с помощью sql


Привет
Я хочу проверить идентификатор электронной почты с помощью sql2008, как это сделать?

5 Ответов

Рейтинг:
2

Arul R Ece

Привет,

Приведенная ниже функция поможет вам ,

Create FUNCTION udf_ValidateEmail (@email varChar(255))

RETURNS bit
AS
begin
return
(
select 
	Case 
		When 	@Email is null then 0	                	--NULL Email is invalid
		When	charindex(' ', @email) 	<> 0 or		--Check for invalid character
				charindex('/', @email) 	<> 0 or --Check for invalid character
				charindex(':', @email) 	<> 0 or --Check for invalid character
				charindex(';', @email) 	<> 0 then 0 --Check for invalid character
		When len(@Email)-1 <= charindex('.', @Email) then 0--check for '%._' at end of string
		When 	@Email like '%@%@%'or 
				@Email Not Like '%@%.%'  then 0--Check for duplicate @ or invalid format
		Else 1
	END
)
end


Рейтинг:
2

KentsCode

Решение 2, добавил Я
Когда электронная почта является null тогда 0-нуль электронной почты является недействительным
Когда CHARINDEX('@', @Email) = 1, ТО 0 -- <-- я добавил

слишком избегайте этого SELECT dbo.udf_ValidateEmail('@bellsouth.net')


Рейтинг:
1

_Amy

Попробовать это:

SELECT
  EmailAdd,
  CASE WHEN EmailAdd LIKE '%_@_%_.__%'
       AND EmailAdd NOT LIKE '%[Invalid Chars]%'
  THEN 'Email Address is Correct'
  ELSE 'Invalid Email Address'
  END AS 'MSG'
FROM
  Table1

Ссылаться этот[^] для функции SQL Server для проверки адресов электронной почты.


Всего наилучшего.
--Амит


Рейтинг:
0

Arul R Ece

Привет ,

Не могли бы вы попробовать вот так,

DECLARE @regex NVARCHAR(100)
SET @regex = N'^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$'

SELECT name, emailaddress, dbo.RegExValidate( emailaddress, @regex ) AS validemail FROM dbo.PEOPLE


CREATE TABLE dbo.PEOPLE (
name VARCHAR(25) NOT NULL
, emailaddress VARCHAR(255) NOT NULL
, CONSTRAINT PEOPLE_ck_validemailaddress CHECK ( dbo.RegExValidate( emailaddress, N'^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$' ) = 1 )
)


Рейтинг:
0

Rajesh Anuhya

Проверьте ссылку ниже, используя TSQL
Проверка электронной почты с помощью TSQL - REGX
[^]

--РА