none
verificar se tem letras e números RRS feed

  • 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
    quinta-feira, 7 de fevereiro de 2019 10:48

Todas as Respostas

  • 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;
                }
    

    quinta-feira, 7 de fevereiro de 2019 11:09
  • 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

    terça-feira, 12 de fevereiro de 2019 15:02
  • 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
    quarta-feira, 13 de fevereiro de 2019 11:20