Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Essa uma validao simples, que apenas verifica se a quantidade de caracteres est correta e se
todos a string informada possui 8 caracteres numricos. Para uma validao mais forte, sugiro que
seja adquirido uma base junto aos Correios e a funo de validao dever realizar uma consulta
nessa base para confirmar os dados e a veracidade do CEP.
Transact-SQL
Validao de e-mail
Essa funo faz uma validao de endereos utilizando uma mscara de validao de e-mails.
Strings como a@a.com ou teste no sero validadas.
Transact-SQL
1
2
3 CREATE FUNCTION dbo.fncValidarEmail(@Ds_Email varchar(max))
4 RETURNS BIT
5 AS BEGIN
6
7 DECLARE @Retorno BIT = 0
8
9 SELECT @Retorno = 1
1 WHERE @Ds_Email NOT LIKE '%[^a-z,0-9,@,.-_]%'
0 AND @Ds_Email LIKE '%_@_%_.__%'
1
1 RETURN @Retorno
1
2 END
1
3
Validao de CPF
Essa funo ir validar a quantidade de dgitos do CPF (precisa ter 11), validar se o CPF informado
no est na lista de CPFs repetidos, mas que passam pelas validaes padro e faz o clculo e
validao do CPF informado para identificar se vlido ou no.
DECLARE
@Contador_1 INT,
@Contador_2 INT,
@Digito_1 INT,
@Digito_2 INT,
@Nr_Documento_Aux VARCHAR(11)
-- Remove os nmeros que funcionam como validao para CPF, pois eles
"passam" pela regra de validao
IF (@Nr_Documento_Aux IN ('00000000000', '11111111111', '22222222222',
'33333333333', '44444444444', '55555555555', '66666666666', '77777777777',
'88888888888', '99999999999', '12345678909'))
RETURN 0
SET @Contador_1 = 2
IF (@Digito_1 <= 1)
SET @Digito_1 = 0
ELSE
SET @Digito_1 = 11 - @Digito_1
IF (@Digito_2 < 2)
SET @Digito_2 = 0
ELSE
SET @Digito_2 = 11 - @Digito_2
END
END
RETURN 1
END
IF (LEN(@Nr_Documento) = 11)
BEGIN
-- Valida CPF
IF (@Nr_Documento IN ('00000000000', '11111111111', '22222222222', '33333333333',
'44444444444', '55555555555', '66666666666', '77777777777', '88888888888', '99999999999',
'12345678909'))
SET @Retorno = 0
ELSE
SET @Retorno = CLR.dbo.fncValida_CPF(@Nr_Documento)
END
ELSE BEGIN
-- Valida CNPJ
IF (LEN(@Nr_Documento) = 14)
SET @Retorno = CLR.dbo.fncValida_CNPJ(@Nr_Documento)
ELSE
SET @Retorno = 0
END
RETURN @Retorno
END
Validao de Telefone
Essa funo ir verificar a quantidade de dgitos do telefone e se o nmero informado no
formado apenas por nmeros repetidos.
DECLARE
@Retorno BIT = 1,
@Nr_Telefone_Valida VARCHAR(15)
IF (@Nr_Telefone != @Nr_Telefone_Valida)
SET @Retorno = 0
END
Funo extra
Vocs devem ter notado que a funo para validar telefone possui uma dependncia, que a
fncRecupera_Numeros. Essa funo tem por finalidade, retornar apenas caracteres numricos (0 a
9) e uma string, removendo strings, acentos, caracteres especiais, etc.
RETURNS VARCHAR(500)
BEGIN
WHILE (1 = 1)
BEGIN
END
RETURN @str
END