Usuário com melhor resposta
Expressão Regular em C# para CPF, RG, CEP e telefone

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).
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
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
-
-
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 -
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ão11988004455
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!!! -
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()
...
...