小编Cod*_*ick的帖子

使用Regex的SQL电子邮件验证功能

我正在尝试在SQL Server 2005中创建一个函数来检查电子邮件是否使用正则表达式的有效格式.

这是我到目前为止:

CREATE FUNCTION isValidEmailFormat
(
    @Email varchar(100)
)
RETURNS bit
AS
BEGIN
   DECLARE @Result bit

   SET @Result = (SELECT CASE
                     WHEN @Email LIKE '%[a-zA-Z0-9_\-]+@([a-zA-Z0-9_\-]+\.)+  (com|org|edu|nz|au])%' 
                       THEN 1
                       ELSE 0
                  END AS Valid)
   RETURN @Result
END
Run Code Online (Sandbox Code Playgroud)

我的正则表达式出错吗?或者我还需要做些什么来比较varchar和正则表达式?

-编辑-

现在,无论我输入什么字符串都返回0,即使电子邮件格式本身是正确的.

regex sql sql-server-2005

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

regex ×1

sql ×1

sql-server-2005 ×1