Bogos

setembro 22, 2008

Função de validação de campo de e-mail

Uma função que fiz em PL-SQL pra validação de e-mail. Nada impede dela ser mudada pra outras linguagens, é simples e de fácil entendimento. Ela recebe como parâmetro o código de um funcionário e retorna OK para e-mail válido e NOK para e-mail inválido.

CREATE OR REPLACE FUNCTION bValidaEmail (idFunc) RETURN varchar2 AS
email VARCHAR2(80);
   ret VARCHAR2(3) := ‘OK’;
   strlen PLS_INTEGER;
   arroba PLS_INTEGER;
   ponto1 PLS_INTEGER;
   ponto2 PLS_INTEGER;
BEGIN
   SELECT email INTO email FROM funcionarios WHERE id = idFunc;
   email := TRIM(BOTH ‘ ‘ FROM rs.email); –remove espaços
   arroba := INSTR(email, ‘@’); –verifica posição do @
   ponto1 := INSTR(email, ‘.’, arroba); –verifica primeiro ponto a partir da posição do arroba
   ponto2 := INSTR(email, ‘.’, ponto1); –verifica segundo ponto (a partir da posição do ponto1)
   strlen := LENGHT(email); –recupera qtd de caracteres do email

   IF NOT((arroba > 1) AND (ponto1 > arroba) AND (ponto1 < strlen) AND (ponto2 < strlen) AND ((ponto1 – arroba) > 1)) THEN –valida digitação
      ret := ‘NOK’;
   ELSE
      IF INSTR(email, ‘.’, ponto2 + 1) > ponto2 THEN –verifica se não existe mais de 2 pontos após o arroba
         ret := ‘NOK’;
      END IF;
   END IF;

   /* DBMS_OUTPUT.Put_Line( ret ); — saida de dados do oracle (apenas debug) */

   RETURN ret;

END;
/

Isso aí! Bom uso!

Anúncios

Deixe um comentário »

Nenhum comentário ainda.

RSS feed for comments on this post. TrackBack URI

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s

Crie um website ou blog gratuito no WordPress.com.

%d blogueiros gostam disto: