我想知道如何使用以下代码验证文本框中的电话号码:
System.Text.RegularExpressions.Regex rphone = new System.Text.RegularExpressions.Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");
答案 0 :(得分:3)
尝试:
\+[0-9]{3}\s+[0-9]{3}\s+[0-9]{5}\s+[0-9]{3}
继续对上面的模式进行了一些解释。
\+ -------------|> +sign
[0-9]{3} -------|> matches 0-9 max of 3digit
\s+ ------------|> a whitespace
与您的样本匹配: +020 111 94546 333
如果您想验证号码是否已完成,请说明您有一个按钮,然后文本框会执行以下操作:
private void button1_Click(object sender, EventArgs e)
{
Regex phoneNumpattern = new Regex(@"\+[0-9]{3}\s+[0-9]{3}\s+[0-9]{5}\s+[0-9]{3}");
if (phoneNumpattern.IsMatch(textBox1.Text))
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("Invalid phone number");
}
}
答案 1 :(得分:2)
private void myTextBox_Leave(object sender, EventArgs e)
{
Regex pattern = new Regex(@"^((\+){0,1}91(\s){0,1}(\-){0,1}(\s){0,1}){0,1}9[0-9](\s){0,1}(\-){0,1}(\s){0,1}[1-9]{1}[0-9]{7}$");
if (pattern.IsMatch(myTextBox.Text))
{
MessageBox.Show("OK");
}
else
{
MessageBox.Show("Invalid phone number");
}
}