Robię projekt w postaci c # i okna, a teraz w trybie testowym, ale napotykam problem
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
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 № 1OK 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])$";