如何验证NRIC的文本框

本文关键字:NRIC 文本 验证 何验证 | 更新日期: 2023-09-27 18:00:50

我正在用c#和窗口形式做一个项目,现在处于测试模式,但我遇到了一个问题

  1. 我有一个文本框,基本上供人们输入他们的nric,但我不知道如何在文本框中编写验证nric的代码

  2. 另一件我从未说过的事是,我有一个学生卡号,如何验证文本框中的长度??

有人知道吗???NRIC类似于S1234567H。。。基本上,前面必须是一个S字符,中间是一个7数字,最后一个是任何alpabet

提前感谢

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

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

如何验证NRIC的文本框

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

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属性中放入这个S0000000LS-是你的起始字母0-表示任何数字L-表示字母要求a-z和a-z如果要使用MaskedTextBox控件,则用户不能输入错误的值

有关模式信息,请查看msdn

您可以使用regex验证文本框中的输入文本。Regex类

例如,您需要允许在文本框中只输入10个数字看看代码

            string strRegex = @"^('d{10})$";
        Regex myRegex = new Regex(strRegex);
        string strTargetString = textBox.Text;
        if(myRegex.IsMatch(strTargetString))
        {
            //all is ok
        }
        else
        {
            //incorrect input
        }

如果你想简单地检查输入文本长度,请使用这个代码

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

insteed 10输入您的值

使用此正则表达式验证输入

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