国产探花免费观看_亚洲丰满少妇自慰呻吟_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;
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 内乡县| 正蓝旗| 西安市| 巧家县| 岚皋县| 汕头市| 师宗县| 宿迁市| 交城县| 金阳县| 锡林浩特市| 乌什县| 佛学| 永州市| 元谋县| 买车| 信阳市| 宜州市| 沁阳市| 霞浦县| 奇台县| 合作市| 蛟河市| 团风县| 庐江县| 雷波县| 泰宁县| 尚义县| 小金县| 北辰区| 朝阳区| 海口市| 巴林左旗| 清原| 安达市| 宜阳县| 嵊州市| 扬州市| 进贤县| 兴宁市| 万宁市|