как проверить текстовое поле для NRIC - PullRequest
2 голосов
/ 30 июня 2011

Я делаю проект на языке c # и в форме окна, а теперь в режиме тестирования, но у меня возникла проблема

  1. У меня есть текстовое поле, в котором люди могут вводить свои данные., но я не знаю, как написать код для проверки Nric в текстовом поле

  2. Еще одна вещь, которую я никогда не говорю, у меня есть номер студенческого билета, как проверить длину втекстовое поле ??

кто-нибудь знает ???NRIC похож на, например, S1234567H ... так что в основном передняя часть должна быть символом S, а средняя цифра - 7 цифр, а последняя - любой алфавит

, заранее спасибо

Единственное, что я знаю, это поместить код здесь:

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

Ответы [ 3 ]

0 голосов
/ 01 июля 2011

используйте это регулярное выражение для проверки ввода

string strRegex = @"^(S\d{7}[a-zA-Z])$";
0 голосов
/ 01 июля 2011

ОК. Я создал простое приложение Windows Forms, помещенное в форму компонента TextBox с именем textBox1 и элементом управления Button с именем 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 укажите этот S0000000L S - ваша начальная буква 0 - означает любую цифру L - означает обязательные буквы z и AZ, если вы будете использовать элемент управления MaskedTextBox, пользователь не сможет ввести неправильное значение

для режимаИнформация посмотреть на MSDN

0 голосов
/ 30 июня 2011

Вы можете использовать регулярные выражения для проверки ввода текста из текстового поля. Класс 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
}

Застрахованный 10 положить ваше значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...