我有一个 oracle 函数,它返回电子邮件地址是否有效
CREATE OR REPLACE FUNCTION valid_email (p_email in varchar2)
return string is
v_return varchar2(255);
cemailregexp constant varchar2(1000) := '^[a-z0-9!#$%&''*+/=?^_`{|}~-]+(\.[a-z0-9!#$%&''*+/=?^_`{|}~-]+)*@([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)+([A-Z]{2}|arpa|biz|com|info|intww|name|net|org|pro|aero|asia|cat|coop|edu|gov|jobs|mil|mobi|museum|pro|tel|travel|post)$';
BEGIN
if regexp_like(p_email,cemailregexp,'i') then
v_return := p_email;
else
v_return := null;
end if;
return v_return;
END;
如果邮件通过正则表达式,则返回邮件,否则返回结果为NULL
我很想知道输入字符串的哪一部分失败了,为什么 regex_like 失败了?
如果不好就重新调整 null ,而不是重新调整 null ,也许是一个新的变量
我想发送电子邮件至 mgptva;d@uclin2.berkeley.edu 回复:
v_return_msg="无效字符';' 在位置 7
很抱歉没有包括我的尝试,我什至不知道从哪里开始,谷歌搜索没有结果