Introduction

This post describes the steps required for email validation using PL/SQL Function

Script for Email Validation using Pl/Sql Function

CREATE FUNCTION f_email_validate (pi_email_id IN OUT VARCHAR2)

RETURN BOOLEAN

IS

lv_n_check_len      NUMBER;

lv_b_check_in_at    BOOLEAN;

lv_b_check_in_dot   BOOLEAN;

lv_v_extn           VARCHAR2 (10);

BEGIN

lv_n_check_len := LENGTH (pi_email_id);

pi_email_id := LOWER (pi_email_id);

SELECT REPLACE (pi_email_id, ‘ ‘, ”)

INTO pi_email_id

FROM DUAL;

SELECT REPLACE (pi_email_id, ‘”‘, ”)

INTO pi_email_id

FROM DUAL;

SELECT REPLACE (pi_email_id, ‘`’, ”)

INTO pi_email_id

FROM DUAL;

SELECT REPLACE (pi_email_id, CHR (39), ”)

INTO pi_email_id

FROM DUAL;

SELECT REPLACE (pi_email_id, CHR (92), ”)

INTO pi_email_id

FROM DUAL;

lv_v_extn := SUBSTR (pi_email_id, INSTR (pi_email_id, ‘.’, -1) + 1);

IF lv_v_extn NOT IN

(‘com’, ‘org’, ‘net’, ‘edu’, ‘gov’, ‘us’, ‘biz’, ‘info’, ‘tv’, ‘cc’,

‘ws’, ‘ac’, ‘as’, ‘be’, ‘ca’, ‘cc’, ‘de’, ‘dk’, ‘fm’, ‘gs’, ‘il’,

‘jp’, ‘kz’, ‘lt’, ‘sk’, ‘in’, ‘ms’, ‘nz’, ‘ph’, ‘ro’, ‘sh’, ‘st’,

‘tc’, ‘to’, ‘tv’, ‘uk’, ‘us’, ‘vg’, ‘vu’, ‘ws’, ‘za’)

THEN

RETURN (‘Invalid’);

END IF;

FOR i IN 1 .. lv_n_check_len

LOOP

IF SUBSTR (pi_email_id, i, 1) = ‘@’

THEN

lv_b_check_in_at := TRUE;

ELSIF SUBSTR (pi_email_id, i, 1) = ‘.’

THEN

lv_b_check_in_dot := TRUE;

END IF;

END LOOP;

IF lv_b_check_in_at AND lv_b_check_in_dot

THEN

RETURN (Valid’);

ELSE

RETURN (Invalid’);

END IF;

END;

Queries
Do drop a note by writing us at doyen.ebiz@gmail.com or use the comment section below to ask your questions.

 

 

Recent Posts

Start typing and press Enter to search