sql 邮箱判断

来源:互联网 发布:软件找不到指定模块 编辑:程序博客网 时间:2024/06/16 13:47
USE [AslssMirror]
GO
/****** Object:  UserDefinedFunction [dbo].[fnCheckEmail]    Script Date: 2016/10/18 17:10:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER   function   [dbo].[fnCheckEmail](@Email   varchar(1000)) 
returns   bit 
as 
begin 
declare   @rtv   bit 
if   
        charindex( '   ',@email)   >   0   or           /*含有空格*/ 
        len(@email)   -   len(replace(@email, '. ', ' '))   >   1   or   /* '. '超过1个*/ 
        len(@email)   -   len(replace(@email, '@ ', ' '))   >   1   or   /* '@ '超过1个*/ 
        right(@email,1)   =   '. '   or       /*以 '. '结尾*/ 
        right(@email,1)   =   '@ '   or       /*以 '@ '结尾*/ 
charindex( '@',@email)< 2 or /*以 '@'开头 或者没有@符号*/ 
charindex( '.',@email)< 2 or /*以 '.'开头 或者没有.符号*/
        charindex( '. ',@email)-charindex( '@ ',@email)   <   0   or   /* '. '在 '@ '前面*/ 
        charindex( '@ ',@email)-charindex( '. ',@email)   =   1   or   /* '@ '与 '. '相邻*/ 
        charindex( '. ',@email)-charindex( '@ ',@email)   =   1      /* '@ '与 '. '相邻*/ 
        set   @rtv   =   0 
else 
        set   @rtv   =   1 
return   @rtv 
end 
0 0
原创粉丝点击