Em 04/07/13, Marcelo da Silva<[email protected]> escreveu:
> Pessoal, tenho a seguinte função:
>
> -- Function: fvalidaemail(text)
>
> -- DROP FUNCTION fvalidaemail(text);
>
> CREATE OR REPLACE FUNCTION fvalidaemail(text)
>   RETURNS boolean AS
> $BODY$select $1 ~ '^[^@\s]+@[^@\s]+(\.[^@\s]+)+$' as result
> $BODY$
>   LANGUAGE sql VOLATILE
>   COST 100;
> ALTER FUNCTION fvalidaemail(text)
>   OWNER TO postgres;
>
>
> Peguei esta função na Web, mas tem algo estranho, ela está considerando
> emails abaixo como Falso
>
> Emails:
> [email protected]
> [email protected]
> [email protected]
> [email protected]
> etc
>
> Olhei bastante e não vi nada de errado com os emails citados
>


Certifique-se de que no campo sendo verificado não existem espaços em branco.

bdteste=# select '[email protected]' ~
'^[^@\s]+@[^@\s]+(\.[^@\s]+)+$';
 ?column?
----------
 t
(1 row)

bdteste=# select ' [email protected]' ~
'^[^@\s]+@[^@\s]+(\.[^@\s]+)+$';
 ?column?
----------
 f
(1 row)

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a