Sintaxe
M
fnDocumentoAnonimo(documento as nullable text) as nullable textParâmetros
- documentonullable textObrigatório
CPF (11) ou CNPJ (14, numérico ou alfanumérico), formatado ou não.
M"123.456.789-00"
Tipo de retorno
nullable text
Exemplos
M
fnDocumentoAnonimo("123.456.789-00")
// "123.***.***-00"
fnDocumentoAnonimo("12.ABC.345/01DE-35")
// "12.***.***/****-35"Código completo
M
let
fnDocumentoAnonimo = (documento as nullable text) as nullable text =>
let
vLimpo = Text.Select(Text.Upper(documento ?? ""), {"0".."9", "A".."Z"})
in
if Text.Length(vLimpo) = 11 then Text.Start(vLimpo, 3) & ".***.***-" & Text.End(vLimpo, 2)
else if Text.Length(vLimpo) = 14 then Text.Start(vLimpo, 2) & ".***.***/****-" & Text.End(vLimpo, 2)
else null,
Documentacao = [
Documentation.Name = "fnDocumentoAnonimo",
Documentation.Description = "Mascara CPF e CNPJ, mantendo o início e os dígitos verificadores.",
Documentation.LongDescription = "11 caracteres = CPF; 14 = CNPJ (numérico ou alfanumérico). Aceita entrada formatada ou não. Outros tamanhos retornam null.",
Documentation.Category = "Máscara de dados",
Documentation.Author = "Paulo André Jesus",
Documentation.Version = "2.0",
Documentation.Examples = {
[Description = "CPF", Code = "fnDocumentoAnonimo(""123.456.789-00"")", Result = """123.***.***-00"""],
[Description = "CNPJ alfanumérico", Code = "fnDocumentoAnonimo(""12.ABC.345/01DE-35"")", Result = """12.***.***/****-35"""]
}
]
in
Value.ReplaceType(fnDocumentoAnonimo, Value.ReplaceMetadata(Value.Type(fnDocumentoAnonimo), Documentacao))Mais informações
- Fonte
- Paulo André Jesus — OfficeTuning
- Versão
- 2.0