国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

判斷email 輸入是否合法

2024-07-21 02:53:10
字體:
來源:轉載
供稿:網友
PROCEDURE check_client_email(p_check_char IN VARCHAR2,                               p_sign       OUT VARCHAR2,                               p_message    OUT VARCHAR2) IS    v_email      VARCHAR2(1000);    v_singlechar VARCHAR2(3);    v_err_code VARCHAR2(10);    v_prompt   VARCHAR2(1000);  BEGIN    p_sign := 'N';    --不區分大小寫,全部換成小寫    v_email := LOWER(p_check_char);    v_email := NVL(v_email, '*');    --IF LENGTH(v_email) >= 6 THEN    --檢查郵件地址中是否有“@”和“.”兩個關鍵字符    IF INSTR(v_email, '@') = 0 OR INSTR(v_email, '.') = 0 THEN      p_sign    := 'N';      p_message := '錄入的EMAIL不規范,EMAIL未含有“@”和“.”兩個關鍵字符';      RETURN;    END IF;    --檢查:    --1、是否出現了多個“@”符號    --2、檢查“@”符號是否在開頭和結尾    --3、“.”符號在“@”符號之前的部分及“@”符號之后的部分,均不能作為開始或結尾符    --4、“@”符號后的部分,點號至少出現一次,且不能連續出現    IF INSTR(v_email, '@', INSTR(v_email, '@') + 1) <> 0 OR       INSTR(v_email, '@') = 1 OR INSTR(v_email, '@') = LENGTH(v_email) OR       INSTR((SUBSTR(v_email, 1, INSTR(v_email, '@') - 1)), '.') = 1 OR       INSTR(SUBSTR(v_email, 1, INSTR(v_email, '@') - 1), '.', -1) =       LENGTH(SUBSTR(v_email, 1, INSTR(v_email, '@') - 1)) OR       INSTR((SUBSTR(v_email, INSTR(v_email, '@') + 1)), '.') = 1 OR       INSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1), '.', -1) =       LENGTH((SUBSTR(v_email, INSTR(v_email, '@') + 1))) OR       INSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1), '.') = 0 OR       INSTR((SUBSTR(v_email, INSTR(v_email, '@') + 1)), '..') > 0 THEN      p_sign    := 'N';      p_message := '錄入的EMAIL不規范';      RETURN;    END IF;    --A段只能由字母、數字、下劃線、中劃線和點號組成    FOR i IN 1 .. LENGTH(SUBSTR(v_email, 1, INSTR(v_email, '@') - 1)) LOOP      v_singlechar := SUBSTR((SUBSTR(v_email, 1, INSTR(v_email, '@') - 1)),                             i,                             1);      IF v_singlechar NOT IN ('_',                              '-',                              '.',                              '0',                              '1',                              '2',                              '3',                              '4',                              '5',                              '6',                              '7',                              '8',                              '9',                              'a',                              'b',                              'c',                              'd',                              'e',                              'f',                              'g',                              'h',                              'i',                              'j',                              'k',                              'l',                              'm',                              'n',                              'o',                              'p',                              'q',                              'r',                              's',                              't',                              'u',                              'v',                              'w',                              'x',                              'y',                              'z') THEN        p_sign    := 'N';        p_message := '錄入的EMAIL不規范';        RETURN;      END IF;    END LOOP;    --B、C段開頭只能為字母或數字    IF SUBSTR(SUBSTR(v_email,                     INSTR(v_email, '@') + 1,                     INSTR(v_email, '.') - 1 - INSTR(v_email, '@')),              1,              1) NOT IN ('0',                         '1',                         '2',                         '3',                         '4',                         '5',                         '6',                         '7',                         '8',                         '9',                         'a',                         'b',                         'c',                         'd',                         'e',                         'f',                         'g',                         'h',                         'i',                         'j',                         'k',                         'l',                         'm',                         'n',                         'o',                         'p',                         'q',                         'r',                         's',                         't',                         'u',                         'v',                         'w',                         'x',                         'y',                         'z') OR       SUBSTR(SUBSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1),                     INSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1), '.') + 1),              1,              1) NOT IN ('0',                         '1',                         '2',                         '3',                         '4',                         '5',                         '6',                         '7',                         '8',                         '9',                         'a',                         'b',                         'c',                         'd',                         'e',                         'f',                         'g',                         'h',                         'i',                         'j',                         'k',                         'l',                         'm',                         'n',                         'o',                         'p',                         'q',                         'r',                         's',                         't',                         'u',                         'v',                         'w',                         'x',                         'y',                         'z') THEN      p_sign    := 'N';      p_message := '錄入的EMAIL不規范';      RETURN;    END IF;    --B段只能由字母、數字、下劃線、中劃線和點號組成    IF LENGTH(SUBSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1),                     1,                     INSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1), '.') - 1)) > 1 THEN      FOR i IN 2 .. LENGTH(SUBSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1),                                  1,                                  INSTR(SUBSTR(v_email,                                               INSTR(v_email, '@') + 1),                                        '.') - 1)) LOOP        v_singlechar := SUBSTR(SUBSTR(SUBSTR(v_email,                                             INSTR(v_email, '@') + 1),                                      1,                                      INSTR(SUBSTR(v_email,                                                   INSTR(v_email, '@') + 1),                                            '.') - 1),                               i,                               1);        IF v_singlechar NOT IN ('_',                                '-',                                '.',                                '0',                                '1',                                '2',                                '3',                                '4',                                '5',                                '6',                                '7',                                '8',                                '9',                                'a',                                'b',                                'c',                                'd',                                'e',                                'f',                                'g',                                'h',                                'i',                                'j',                                'k',                                'l',                                'm',                                'n',                                'o',                                'p',                                'q',                                'r',                                's',                                't',                                'u',                                'v',                                'w',                                'x',                                'y',                                'z') THEN          p_sign    := 'N';          p_message := '錄入的EMAIL不規范';          RETURN;        END IF;      END LOOP;    END IF;    --C段只能由字母、數字、下劃線、中劃線和點號組成    IF LENGTH(SUBSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1),                     INSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1), '.') + 1)) > 1 THEN      FOR i IN 2 .. LENGTH(SUBSTR(SUBSTR(v_email, INSTR(v_email, '@') + 1),                                  INSTR(SUBSTR(v_email,                                               INSTR(v_email, '@') + 1),                                        '.') + 1)) LOOP        v_singlechar := SUBSTR(SUBSTR(SUBSTR(v_email,                                             INSTR(v_email, '@') + 1),                                      INSTR(SUBSTR(v_email,                                                   INSTR(v_email, '@') + 1),                                            '.') + 1),                               i,                               1);        IF v_singlechar NOT IN ('_',                                '-',                                '.',                                '0',                                '1',                                '2',                                '3',                                '4',                                '5',                                '6',                                '7',                                '8',                                '9',                                'a',                                'b',                                'c',                                'd',                                'e',                                'f',                                'g',                                'h',                                'i',                                'j',                                'k',                                'l',                                'm',                                'n',                                'o',                                'p',                                'q',                                'r',                                's',                                't',                                'u',                                'v',                                'w',                                'x',                                'y',                                'z') THEN          p_sign    := 'N';          p_message := '錄入的EMAIL不規范';          RETURN;        END IF;      END LOOP;    END IF;    p_sign    := 'Y';    p_message := '校驗成功';  EXCEPTION    WHEN OTHERS THEN      p_sign    := 'E';      p_message := SUBSTRB('校驗EMAIL信息' || p_check_char || '時異常:' || SQLERRM,                           1,                           300);      -- Logging the error      v_err_code := NULL;      pub_error_handle.exception_no_raise('l_pub_public_biz.check_client_email',                                          v_err_code,                                          p_message,                                          v_prompt);  END check_client_email;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邯郸县| 越西县| 中西区| 满城县| 蓬莱市| 应城市| 博乐市| 怀化市| 繁昌县| 比如县| 陵水| 馆陶县| 图木舒克市| 福州市| 柘城县| 广汉市| 华宁县| 青浦区| 峨山| 黄陵县| 青州市| 汕头市| 灯塔市| 平武县| 拜城县| 张家港市| 石屏县| 连山| 广平县| 南宫市| 甘孜| 通道| 阳东县| 项城市| 宝应县| 西吉县| 婺源县| 留坝县| 平谷区| 莆田市| 洪湖市|