我需要验证电子邮件是否有效。我尝试了以下查询,
--if the email is valid,
WHERE (CHARINDEX('',LTRIM(RTRIM(Email)))=0
AND LEFT(LTRIM(Email),1)<> '@'
AND RIGHT(RTRIM(Email),1)<> '.'
AND CHARINDEX('.',Email, CHARINDEX('@',Email))-CHARINDEX('@',Email)>1
AND LEN(LTRIM(RTRIM(Email)))-LEN(REPLACE(LTRIM(RTRIM(Email)),'@',''))=1
AND CHARINDEX('.',REVERSE(LTRIM(RTRIM(Email))))>=3
AND(CHARINDEX('.@',Email)=0 AND CHARINDEX('..',Email)=0)) AND @Email LIKE '[a-zA-Z0-9]'
但如果我输入特殊字母,例如&#39;#,$ *()!%^&amp; {} []&#39;例如as #$fe@df.com,它不会检测电子邮件中的特殊字符。有人可以帮我这个吗?我还需要在电子邮件中仅允许下划线和短划线,例如er_ds@op-a.com
谢谢
答案 0 :(得分:0)
这是一个比较,它可以更简单地处理大多数当前指定的测试用例,实现为存储过程以进行测试:
{{1}}