在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