/ / jak sprawdzić poprawność pola tekstowego dla NRIC - c #, winforms, visual-studio-2010

jak zweryfikować pole tekstowe dla NRIC - c #, winforms, visual-studio-2010

Robię projekt w postaci c # i okna, a teraz w trybie testowym, ale napotykam problem

  1. Mam w zasadzie pole tekstowe, w którym ludzie mogą wpisywać nric, ale nie wiem, jak napisać kod do sprawdzenia poprawności nric w polu tekstowym

  2. Inna rzecz, o której nigdy nie mówię: mam numer karty studenckiej, jak sprawdzić długość w polu tekstowym?

ktoś wie??? NRIC jest jak np. S1234567H ... tak więc w zasadzie przód musi być znakiem S, a środek 7 cyfrą, a ostatni jest dowolnym alfabetem

z góry dziękuję

jedyne co wiem to umieścić kod tutaj:

 private void nricTextbox_Validating(object sender, CancelEventArgs e)
{
}

Odpowiedzi:

0 dla odpowiedzi № 1

OK Stworzyłem prosty Windows FormsAplikacja umieszczona na komponencie TextBox z nazwą textBox1 i kontrolą przycisku z nazwą ValidateButton w programie obsługi zdarzenia kliknięcia przycisku

using System;
using System.Windows.Forms;

namespace ValidateSimple
{
using System.Text.RegularExpressions;

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void ValidateButton_Click(object sender, EventArgs e)
{
string strRegex = @"^(Sd{7}[a-zA-Z])$";

Regex myRegex = new Regex(strRegex);

string strTargetString = textBox1.Text;
if (myRegex.IsMatch(strTargetString))
{
MessageBox.Show(@"The NRIC is correct!");
}
else
{
MessageBox.Show(@"The NRIC is incorrect!");

}

}
}
}

uruchom aplikację i wstaw tekstBox swój NRIC i naciśnij przycisk jeśli poprawne wejście pokaże odpowiedni komunikat, w przeciwnym razie nieprawidłowy komunikat NRIC

możesz także użyć kontrolki MaskedTextBox, zamiast tego spójrz na msdn

aw właściwości Mask umieść ten S0000000L S -to twój list startowy 0 - oznacza dowolną cyfrę L - oznacza literę wymaganą a-z i A-Z jeśli użyjesz kontrolki MaskedTextBox, użytkownik nie może wprowadzić niepoprawnej wartości

dla informacji o trybie patrz msdn


0 dla odpowiedzi nr 2

Możesz użyć wyrażenia regularnego, aby zweryfikować tekst wejściowy z pola tekstowego. Klasa Regex

na przykład musisz zezwolić na wpisanie w polu tekstowym tylko 10 numerów spójrz na kod

            string strRegex = @"^(d{10})$";
Regex myRegex = new Regex(strRegex);
string strTargetString = textBox.Text;

if(myRegex.IsMatch(strTargetString))
{
//all is ok
}
else
{
//incorrect input
}

jeśli chcesz prostego sprawdzania długości tekstu, użyj tego kodu

if(textBox.Text.Length > 10)
{
//incorrect length
}

inst10 10 umieścić swoją wartość


0 dla odpowiedzi № 3

użyj tego wyrażenia regularnego do sprawdzenia poprawności danych wejściowych

string strRegex = @"^(Sd{7}[a-zA-Z])$";