Inquiridor
verificar se tem letras e números

Pergunta
-
tenho uma texte box que vai receber um código do utilizador.
queria fazer uma validação para confirmar que o código tem letras e números.
pensei em fazer um "for" para percorrer os caracteres da textbox e e com duas variáveis, uma para letras e outra para números, ir somando e no fim verificar se as duas variáveis tem valor >0.
só não estou a conseguir seleccionar o caracter de uma posição e verificar se é numero ou letras ou se há outra forma mais simples de fazer isso.
Obrigado
- Editado seuqramerdna sexta-feira, 8 de fevereiro de 2019 08:38
Todas as Respostas
-
Você pode utilizar expressão regular.
Seguem alguns links:
https://docs.microsoft.com/pt-br/dotnet/standard/base-types/regular-expressions
https://docs.microsoft.com/pt-br/dotnet/standard/base-types/regular-expression-language-quick-reference
Carlos Eduardo Ferreira
-
estava a pensar em algo assim do genero. mas nao estou a conseguir buscra a condição para os "if"s.
int Letras; int Numeros; for(int carater=0;carater<txtvoo.Text.Length; ++) { if() { Letras = Letras + 1; } else if () { Numeros = Numeros + 1; } } if(Numeros<1 && Letras<1) { txtvoo.SelectAll(); MessageBox.Show("Confirme o Codigo de voo!"); return; }
-
Segue o código:
int Letras = 0; int Numeros = 0; for(int carater=0;carater<txtvoo.Text.Length; carater++) { if(("ABCDEFGHIJKLMNOPQRSTWXYZabcdefghijklmnopqrstwxyz").Contains(txtvoo.Text.Substring(carater,1))) { Letras = Letras + 1; } else if(("0123456789").Contains(txtvoo.Text.Substring(carater,1))) { Numeros = Numeros + 1; } } if(Numeros<1 && Letras<1) { txtvoo.SelectAll(); MessageBox.Show("Confirme o Codigo de voo!"); return; }
Carlos Eduardo Ferreira
-
tenho uma texte box que vai receber um código do utilizador.
queria fazer uma validação para confirmar que o código tem letras e números.
pensei em fazer um "for" para percorrer os caracteres da textbox e e com duas variáveis, uma para letras e outra para números, ir somando e no fim verificar se as duas variáveis tem valor >0.
só não estou a conseguir seleccionar o caracter de uma posição e verificar se é numero ou letras ou se há outra forma mais simples de fazer isso.
Obrigado
Olá.
Não sei se te ajudaria. Mas eu utilizo o código abaixo em meu TextBox de pesquisa, para diferenciar quando o usuário começa uma pesquisa com letra ou número para determinar qual pesquisa o sistema deve fazer.
Veja se lhe servirá:
private void txtPesquisar_TextChanged(object sender, EventArgs e) { string numero = "^[0-9]"; string palavra = "^[a-zA-Z]"; if (txtPesquisar.Text != string.Empty && Regex.IsMatch(txtPesquisar.Text.Substring(0, 1), numero)) { //Seu código } else if (txtPesquisar.Text != string.Empty && Regex.IsMatch(txtPesquisar.Text.Substring(0, 1), palavra)) { //Seu código } }
Não esquecendo. Você precisará declarar:
using System.Text.RegularExpressions;
Espero ter ajudado.
- Sugerido como Resposta JehanKheller sexta-feira, 29 de março de 2019 13:09