none
Expressão Regular em C# para CPF, RG, CEP e telefone RRS feed

  • Pergunta

  • Estou tentando configurar um RegularExpressionValidator para validar os campos de CPF, RG, CEP e telefone. No caso do telefone, eu queria assim: (99)9999-9999

    Alguém pode me ajudar? Já procurei na internet e não encontrei expressões que funcionem em C#.




    Obs.: Usando VS2005, Access (infelizmente).
    sexta-feira, 4 de julho de 2008 09:26

Respostas

  •  

    Você pode escrever a mesma expressão de maneiras diferentes:

     

    CPF
    ^\d{3}\.\d{3}\.\d{3}-\d{2}$

     

    Telefone
    ^\(\d{2}\)\d{4}-\d{4}$

     

    CEP
    ^\d{5}-\d{3}$

     

    Recomendo a leitura do guia do Aurélio.

    sexta-feira, 4 de julho de 2008 14:43
  • Olá Raffael,

     

    Para  telefone Tente:

     

    Dim Rgx as new Regex("^[(]{1}\d{2}[)]{1}\d{4}[-]{1}\d{4}$")

     

    if not Rgx.IsMatch(telefone) Then

    msgbox( "telefone inválido")

    End If

     

    O que está dentro dos colchetes [(], [)].... é o caracetere que aparecerá fixo

     

    O que está dentro das chaves {1}, {4}... são quantas vezes este caractere tem que aparecer.

     

    Quando ele pode aparecer 0 ou 4 vezes por exemplo, usamos {0,4}

     

    O \d diz que serão válidos apenas números..

     

    Tem um workshop legal que explica um pouco as expressões regulares..

     

    http://japs.etc.br/2006/09/workshop-expressoes-regulares/

     

    Espero ter ajudado !!!

     

    Abraço

    sexta-feira, 4 de julho de 2008 11:06

Todas as Respostas

  • Olá Raffael,

     

    Para  telefone Tente:

     

    Dim Rgx as new Regex("^[(]{1}\d{2}[)]{1}\d{4}[-]{1}\d{4}$")

     

    if not Rgx.IsMatch(telefone) Then

    msgbox( "telefone inválido")

    End If

     

    O que está dentro dos colchetes [(], [)].... é o caracetere que aparecerá fixo

     

    O que está dentro das chaves {1}, {4}... são quantas vezes este caractere tem que aparecer.

     

    Quando ele pode aparecer 0 ou 4 vezes por exemplo, usamos {0,4}

     

    O \d diz que serão válidos apenas números..

     

    Tem um workshop legal que explica um pouco as expressões regulares..

     

    http://japs.etc.br/2006/09/workshop-expressoes-regulares/

     

    Espero ter ajudado !!!

     

    Abraço

    sexta-feira, 4 de julho de 2008 11:06
  •  

    Você pode escrever a mesma expressão de maneiras diferentes:

     

    CPF
    ^\d{3}\.\d{3}\.\d{3}-\d{2}$

     

    Telefone
    ^\(\d{2}\)\d{4}-\d{4}$

     

    CEP
    ^\d{5}-\d{3}$

     

    Recomendo a leitura do guia do Aurélio.

    sexta-feira, 4 de julho de 2008 14:43
  • Muito obrigado cmps! Ajudou muito, consegui fazer a validação! Obrigado mesmo!
    sexta-feira, 4 de julho de 2008 19:13
  • Luciano Campos, as expressões funcionaram perfeitamente! Obrigado =]

    Se quiser dar uma olhada no resultado final do formulário, acessa o http://www.melflocacoes.com.br/curriculum.aspx

    Obrigado mais uma vez Smile
    sexta-feira, 4 de julho de 2008 19:16
  • Cpms boa tarde,

    Eu não estou entendendo essa expressão regular, eu tenho que criar um método? 

    Eu estou tentando usar com o ValidationExpression no asp.net e só coloca a expressão regular lá. 

    Mas não funciona, eu usei exatamente o mesmo padrão que o rapaz usava na época.

    (99)9999-9999

    só para teste, depois eu vou ter que aprender a mudar a expressão, porque o que eu preciso é o padrão

    11988004455
    mas além disso eu vou ter que validar para que possa ser usado vírgulas dentro textbox.

    Meu resultado final tem que ser11988004455,11988005544 

    Será que pode me dar uma ajuda? Muito obrigado!!! 

    quinta-feira, 24 de outubro de 2013 17:56
  • Ola,

    Tente o seguinte padrao

    ...
    ...

    string phonePattern = @"^"
                            + @"(?<countryCode>[+]?\d{1,3}\s?)?"
                            + @"(?<areaCode>[(]?\d{1,3}[)]?\s?)?"
                            + @"(?<numero>\d{3,5}[-]?\d{4})"
                            + @"$";

    string phoneNumberSample = "+55 11 5525-1234";
            Regex phoneValidator = new Regex(phonePattern);

    if (phoneValidator.IsMatch(phoneNumberSample)==true)
    // doSomething()

    ...
    ...

    quinta-feira, 16 de abril de 2015 22:29