textbox里只能输入数字和按Backspace键

来源:互联网 发布:淘宝店铺网址在哪 编辑:程序博客网 时间:2024/05/01 22:43

在txtPhone控件中只能输入0-9的数字和使用Backspace键。

方法1:

private void txtPhone_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Convert.ToInt32(e.KeyChar) == 8)
            {
                e.Handled = false;
            }
            else
            {
                Regex numRegex = new Regex(@"^(-?[0-9])$");   // 匹配正则表达式
                Match result = numRegex.Match(Convert.ToString(e.KeyChar));
                if (result.Success)    // 输入的不是数字
                {
                    e.Handled = false;    // textBox内容不变
                }
                else
                {
                    e.Handled = true;    // 将现在textBox的值保存下来
                }
            }
        }

 

方法2:

public bool Input_Correct(string number)
          {

              if (number.IndexOf("0") >= 0)
                  return false;
              else if (number.IndexOf("1") >= 0)
                  return false;
              else if (number.IndexOf("2") >= 0)
                  return false;
              else if (number.IndexOf("3") >= 0)
                  return false;
              else if (number.IndexOf("4") >= 0)
                  return false;
              else if (number.IndexOf("5") >= 0)
                  return false;
              else if (number.IndexOf("6") >= 0)
                  return false;
              else if (number.IndexOf("7") >= 0)
                  return false;
              else if (number.IndexOf("8") >= 0)
                  return false;
              else if (number.IndexOf("9") >= 0)
                  return false;
              else if (number.IndexOf(".") >= 0)
                  return false;
              else
                  return true;
          }

    #region 判断合法类型输入
         public bool CheckIsRightInput(string myInput)
         {
             for (int i = 0; i < myInput.Length; i++)
             {
                 string myText = myInput.Substring(i, 1);
                 if (this.Input_Correct(myText))
                 {
                     return true;
                 }
             }
             return false;
         }
    #endregion