我正在以C#和窗口形式进行项目,现在处于测试模式,但是遇到问题


我基本上有一个文本框供人们输入他们的Nric,但我不知道如何编写代码以验证文本框中的Nric
我从未说过的另一件事是我有学生证号码,如何在文本框中验证长度?


有人知道吗? NRIC就像例如S1234567H ...所以基本上,前面是一个S字符,中间是一个7数字,最后一个是字母

提前致谢

我唯一知道的就是将代码放在这里:

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

最佳答案

好的,我已经创建了一个简单的Windows窗体应用程序,该窗体放在了TextBox组件的窗体上
在按钮单击事件处理程序中,名称为textBox1的按钮控件和名称为ValidateButton的Button控件,我已编写此代码

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 = @"^(S\d{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!");

        }

    }
  }
}


运行应用程序并在文本框中输入您的NRIC,然后按按钮
如果输入正确将显示适当的消息,否则输入不正确的NRIC消息

也可以使用MaskedTextBox控件代替msdn

并在属性Mask中放置此S0000000L
S-是您的开始信
0-表示任意数字
L-表示字母必填a-z和A-Z
如果您将使用MaskedTextBox控件,则用户无法输入错误的值

有关模式信息,请参见msdn

10-04 21:38