转自网络:CREATE OR REPLACE FUNCTION aris_check_email(l_user_name IN VARCHAR2) RETURN VARCHAR2 IS l_dot_pos NUMBER; l_at_pos NUMBER; l_str_length NUMBER; BEGIN l_dot_pos := instr(l_user_name,'.'); l_at_pos := instr(l_user_name ,'@'); l_str_length := length(l_user_name); IF ((l_dot_pos = 1) OR (l_at_pos = 1) OR (l_dot_pos = l_at_pos + 1) OR (l_at_pos = 1) OR (l_at_pos = l_str_length) OR (l_dot_pos = l_str_length)) THEN RETURN 'NO'; END IF; IF instr(substr(l_user_name ,l_at_pos+1) ,'.') = 1 OR instr(substr(l_user_name, l_at_pos-1), '.') =1 OR substr(l_user_name, length(l_user_name))='.' OR substr(l_user_name, length(l_user_name))='@' OR instr(substr(l_user_name,l_at_pos+1), '.')=0 OR instr(l_user_name, '/')>0 OR instr(l_user_name, '\')>0 OR instr(substr(l_user_name, l_at_pos+1), '@') >0 THEN RETURN 'FALSE'; END IF; RETURN 'TRUE'; END aris_check_email;
RETURN VARCHAR2 IS
l_dot_pos NUMBER;
l_at_pos NUMBER;
l_str_length NUMBER;
BEGIN
l_dot_pos := instr(l_user_name,'.');
l_at_pos := instr(l_user_name ,'@');
l_str_length := length(l_user_name);
IF ((l_dot_pos = 1) OR (l_at_pos = 1) OR (l_dot_pos = l_at_pos + 1) OR (l_at_pos = 1) OR (l_at_pos = l_str_length) OR (l_dot_pos = l_str_length))
THEN
RETURN 'NO';
END IF;
IF instr(substr(l_user_name ,l_at_pos+1) ,'.') = 1 OR instr(substr(l_user_name, l_at_pos-1), '.') =1 OR substr(l_user_name, length(l_user_name))='.'
OR substr(l_user_name, length(l_user_name))='@' OR instr(substr(l_user_name,l_at_pos+1), '.')=0 OR instr(l_user_name, '/')>0 OR instr(l_user_name, '\')>0
OR instr(substr(l_user_name, l_at_pos+1), '@') >0
THEN
RETURN 'FALSE';
END IF;
RETURN 'TRUE';
END aris_check_email;