1

我需要限制 C# 中 TextBox 中允许的位数。

我还需要创建验证,使其类似于手机号码,这意味着它必须以 07 开头并且总共有 11 位数字。

有什么建议么?

4

2 回答 2

1

您可以使用MaskedTextBox来提供受控输入值。“07”后跟 11 位掩码将是\0\700000000000.

于 2012-11-29T20:51:51.033 回答
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;
}

如果您希望文本框中的文本以“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;
}

您可以将其合并到一种方法中,并且可以在任何需要的地方调用它。如果您想调用某种方法(例如,当您单击接受按钮时)只需输入以下代码:

private void buttonAccept_Click(object sender, EventArgs e)
{
    if (Validation() == false) return;
}
于 2015-12-24T09:11:28.750 回答