我正在尝试在 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
我的正则表达式做错了吗?还是我必须做更多的事情才能将 varchar 与正则表达式进行比较?
-编辑-
现在,我输入的任何字符串都会返回 0,即使电子邮件格式本身是正确的。