[firebase-br] SIMILAR

Mário Reis mariodosreyx em gmail.com
Sáb Maio 7 12:35:12 -03 2016


Boa tarde Fábio,
Você também pode ver aqui:
https://firebird21.wordpress.com/tag/expresion/ eu uso com as devidas
adaptações e sucesso alguns dos exemplos deste autor:
http://pt.gravatar.com/wrov
Este exemplo por exemplo, parece-me muuito bem conseguido e talvez seja o
que V/procura:
CREATE TRIGGER MORADAS_BIU FOR MORADAS
ACTIVE BEFORE INSERT OR UPDATE
POSITION 2
AS
DECLARE VARIABLE lcEmailOK CHAR(1) DEFAULT 'F';
BEGIN

   lcEmailOK = (SELECT
                   IIF(NEW.E_MAIL
                   SIMILAR TO '[[:ALNUM:]-_.]*@[[:ALNUM:]-_.]*' AND
                   SUBSTRING(NEW.E_MAIL FROM 1 FOR 1) <> '@', 'T', 'F')
                FROM
                   RDB$DATABASE);

   IF (lcEmailOK = 'T') THEN
      lcEmailOK = IIF(NEW.E_MAIL CONTAINING '--', 'F', lcEmailOK);

   IF (lcEmailOK = 'T') THEN
      lcEmailOK = IIF(NEW.E_MAIL CONTAINING '__', 'F', lcEmailOK);

   IF (lcEmailOK = 'T') THEN
      lcEmailOK = IIF(NEW.E_MAIL CONTAINING '..', 'F', lcEmailOK);

   IF (lcEmailOK = 'F') THEN
      EXCEPTION STOP 'E-mail inválido.' ;

END;

Abr.

Com os meus melhores cumprimentos
Mário Agostinho Reis

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.

No dia 6 de maio de 2016 às 19:33, Fábio P. Santos <fpsgyn em gmail.com>
escreveu:

> Alguém já utilizou a instrução SIMILAR do firebird 2.5 ? estou tentando
> aplicar um REGEX para validação de email
>
> Obrigado...
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>



Mais detalhes sobre a lista de discussão lista