129 lines
2.8 KiB
Plaintext
Executable File
129 lines
2.8 KiB
Plaintext
Executable File
create or replace package body validation_util_pkg
|
|
as
|
|
|
|
/*
|
|
|
|
Purpose: Package handles validations
|
|
|
|
Remarks:
|
|
|
|
Who Date Description
|
|
------ ---------- --------------------------------
|
|
MBR 23.10.2011 Created
|
|
|
|
*/
|
|
|
|
|
|
function is_valid_email (p_value in varchar2) return boolean
|
|
as
|
|
l_dot_pos number;
|
|
l_at_pos number;
|
|
l_str_length number;
|
|
l_returnvalue boolean := true;
|
|
begin
|
|
|
|
/*
|
|
|
|
Purpose: returns true if value is valid email address
|
|
|
|
Remarks: Written by Anil Passi, see http://oracle.anilpassi.com/validate-email-pl-sql-2.html
|
|
|
|
Who Date Description
|
|
------ ---------- --------------------------------
|
|
MBR 23.10.2011 Created
|
|
MBR 26.10.2011 Added check against multiple at signs
|
|
|
|
*/
|
|
|
|
if p_value is null then
|
|
l_returnvalue := false;
|
|
else
|
|
|
|
l_dot_pos := instr(p_value, '.');
|
|
l_at_pos := instr(p_value, '@');
|
|
|
|
l_str_length := length(p_value);
|
|
|
|
if ((l_dot_pos = 0) or (l_at_pos = 0) 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
|
|
l_returnvalue := false;
|
|
end if;
|
|
|
|
if instr(substr(p_value, l_at_pos), '.') = 0 then
|
|
l_returnvalue := false;
|
|
end if;
|
|
|
|
if instr(substr(p_value, l_at_pos + 1), '@') > 0 then
|
|
l_returnvalue := false;
|
|
end if;
|
|
|
|
|
|
end if;
|
|
|
|
return l_returnvalue;
|
|
|
|
end is_valid_email;
|
|
|
|
|
|
function is_valid_email2 (p_value in varchar2) return boolean
|
|
as
|
|
l_value varchar2(32000);
|
|
l_returnvalue boolean;
|
|
begin
|
|
|
|
/*
|
|
|
|
Purpose: returns true if value is valid email address
|
|
|
|
Remarks:
|
|
|
|
Who Date Description
|
|
------ ---------- --------------------------------
|
|
MBR 23.10.2011 Created
|
|
|
|
*/
|
|
|
|
if p_value is null then
|
|
l_returnvalue := false;
|
|
else
|
|
l_returnvalue := regexp_replace(p_value, regexp_util_pkg.g_exp_email_addresses, null) is null;
|
|
end if;
|
|
|
|
return l_returnvalue;
|
|
|
|
end is_valid_email2;
|
|
|
|
|
|
function is_valid_email_list (p_value in varchar2) return boolean
|
|
as
|
|
l_returnvalue boolean;
|
|
begin
|
|
|
|
/*
|
|
|
|
Purpose: returns true if value is valid email address list
|
|
|
|
Remarks: see http://application-express-blog.e-dba.com/?p=158 for the regular expression used
|
|
|
|
Who Date Description
|
|
------ ---------- --------------------------------
|
|
MBR 23.10.2011 Created
|
|
|
|
*/
|
|
|
|
if p_value is null then
|
|
l_returnvalue := false;
|
|
else
|
|
l_returnvalue := regexp_replace(p_value, regexp_util_pkg.g_exp_email_address_list, null) is null;
|
|
end if;
|
|
|
|
return l_returnvalue;
|
|
|
|
end is_valid_email_list;
|
|
|
|
|
|
end validation_util_pkg;
|
|
/
|
|
|
|
|
|
|