【问题标题】:how to validate textbox for NRIC如何验证 NRIC 的文本框
【发布时间】:2011-06-30 09:03:36
【问题描述】:

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

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

  2. 还有一点我从来不说的是我有学生证号码,如何验证文本框中的长度??

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

提前致谢

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

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

【问题讨论】:

  • 我必须用谷歌搜索什么是 NRCS,是国民登记身份证吗?

标签: c# winforms visual-studio-2010


【解决方案1】:

好的,我已经创建了一个简单的 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 消息

你也可以使用 MaskedTextBox 控件来代替查看msdn

并在属性 Mask 中放置这个 S0000000L S - 是你的起始字母 0 - 表示任何数字 L - 表示需要的字母 a-z 和 A-Z 如果你将使用 MaskedTextBox 控件,用户不能输入错误的值

模式信息请查看msdn

【讨论】:

  • 我建议在这种情况下使用 MaskedTextBox 控件查看上面编辑的答案
【解决方案2】:

您可以使用正则表达式来验证来自文本框的输入文本。 Regex class

例如,您只需要允许在文本框中输入 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 把你的价值付诸实践

【讨论】:

  • @serghei 有什么简单的方法来验证长度
  • 是的,简单使用 if(textBox.Text.Length > 10){// 长度不正确}
  • @serghei 那么你知道如何验证身份证号码吗?
  • @Serghei ...在我的问题中,我已经向您展示了卡号的样子...然后可以告诉我应该如何验证身份卡号
【解决方案3】:

使用这个正则表达式来验证输入

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

【讨论】:

  • 给我看一个更清晰的代码......比如我应该如何声明来验证这个......因为......我不知道如何处理这行代码
  • 能解释一下什么是sytnax...@"^(S\d{7}[a-zA-Z])$"
  • ..很抱歉打扰您...如果您能看得更清楚就更好了....非常感谢
猜你喜欢
  • 2014-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多