日期:2014-05-17  浏览次数:20989 次

在textBox中输入数字只能是1-12 且个位数前面补0
   private void txtMonth_TextChanged(object sender, EventArgs e)
        {
            if (!System.Text.RegularExpressions.Regex.IsMatch(txtMonth.Text, @"^\d*$"))
            {
                txtMonth.Undo();
            }

            if (Regex.IsMatch(txtMonth.Text.Trim(), @"^([0-9]*|1[0-2])$"))
            {
                if (txtMonth.Text.Length == 2)
                {
                    txtMonth.Text = txtMonth.Text;
                }
                else if (txtMonth.Text.Length == 1)
                {
                    txtMonth.Text = 0 + txtMonth.Text;
                }
            }
            else
            {
                txtMonth.Text = "";
            }

        }
要求:1、输入只能是数字
2、输入的数字是1到12的
3、假如输入的月份是基数位在前面补零也就是输入1显示0
C#?winform C#

------解决方案--------------------
private void txtMonth_TextChanged(object sender, EventArgs e)
 {
    Regex reg=new Regex(@"^0?[1-9]
------解决方案--------------------
1[0-2]$");
 if (!reg.IsMatch(txtMonth.Text))
 {
 txtMonth.Undo();
 }
 
if (txtMonth.Text.Length == 1)
 {
 txtMonth.Text =txtMonth.Text.PadLeft(2,'0');
 }
}

------解决方案--------------------
1,2
private void txtMonth_TextChanged(object sender, EventArgs e)
        {
        if (!Regex.IsMatch(txtMonth.Text.Trim(), @"^([0-9]
------解决方案--------------------
1[0-2])$"))
            {          
                txtMonth.Text =