我需要在C#中限制TextBox中允许的位数。
我还需要创建验证,使其类似于手机号码,这意味着它必须以07开头并且总共有11位数字。
有什么建议吗?
答案 0 :(得分:1)
您可以使用MaskedTextBox来提供受控输入值。 “07”后跟11位数字掩码为\0\700000000000
。
答案 1 :(得分:0)
您没有任何代码作为示例,因此,我会输入我的。
要限制字符数,您应键入以下代码:
private bool Validation()
{
if (textBox.Text.Length != 11)
{
MessageBox.Show("Text in textBox must have 11 characters", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox.Focus();
return false;
}
return true;
}
如果您希望textBox中的文本以“07”开头,则应键入以下代码:
private bool Validation()
{
string s = textBox.Text;
string s1 = s.Substring(0, 1); // First number in brackets is from wich position you want to cut string, the second number is how many characters you want to cut
string s2 = s.Substring(1, 1);
if (s1 != "0" || s2 != "7")
{
MessageBox.Show("Number must begin with 07", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox.Focus();
return false;
}
return true;
}
您可以在一个source方法中合并它,您可以随意调用它。如果要调用某种方法(例如,当您单击“接受”按钮时),只需键入以下代码:
private void buttonAccept_Click(object sender, EventArgs e)
{
if (Validation() == false) return;
}