/ / So validieren Sie ein Textfeld für NRIC - c #, winforms, visual-studio-2010

So validieren Sie Textbox für NRIC - c #, winforms, visual-studio-2010

Ich mache ein Projekt in c # und Fensterform und jetzt im Testmodus, aber ich stoße auf ein Problem

  1. Ich habe ein Textfeld, in das die Leute ihren nric eingeben können, aber ich weiß nicht, wie man den Code schreibt, um nric im Textfeld zu überprüfen

  2. Eine andere Sache, die ich nie sage, ist, dass ich eine Studentenkartennummer habe.

Weiß jemand??? NRIC ist wie zB S1234567H ... also im Grunde muss die Front ein S-Zeichen sein und die Mitte ist eine 7-stellige Ziffer und die letzte ist ein Alpabet

Danke im Voraus

Das einzige, was ich weiß, ist, den Code hier einzufügen:

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

Antworten:

0 für die Antwort № 1

OK Ich habe ein einfaches Windows Forms erstelltAnwendung aus der TextBox-Komponente anlegen mit Namen textBox1 und Button-Steuerelement mit Namen ValidateButton in der Schaltfläche click event handler Ich habe diesen Code geschrieben

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!");

}

}
}
}

Starten Sie die Anwendung und geben Sie Ihre NRIC in die TextBox ein und drücken Sie die Taste Wenn die Eingabe korrekt ist, wird eine entsprechende Nachricht angezeigt, andernfalls eine falsche NRIC-Nachricht

Sie können stattdessen auch das MaskedTextBox-Steuerelement verwenden msdn

und in der Eigenschaftsmaske diesen S0000000L S -ist dein Startbuchstabe 0 bedeutet eine beliebige Ziffer L - bedeutet Buchstabe a-z und A-Z Wenn Sie das MaskedTextBox-Steuerelement verwenden, kann der Benutzer keinen falschen Wert eingeben

für Modus Info siehe msdn


0 für die Antwort № 2

Sie können Regex verwenden, um Eingabetext aus Textfeld zu überprüfen. Regex-Klasse

Zum Beispiel müssen Sie nur 10 Zahlen in das Textfeld eingeben Schau dir den Code an

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

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

Wenn Sie die Eingabetextlänge einfach überprüfen möchten, verwenden Sie diesen Code

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

Insteed 10 Legen Sie Ihren Wert


0 für die Antwort № 3

Verwenden Sie diesen regulären Ausdruck, um die Eingabe zu überprüfen

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