验证电话号码

时间:2018-10-31 11:46:15

标签: c# asp.net regex

我正在用C#构建程序。我想做的是 “当我按搜索时,如果文本框1和文本框2仅包含数字,则显示搜索结果。”

我怎么说“如果包含0-9”?

我当前的方法不起作用。我尝试过Contains,但希望它包含所有数字。

protected void Button1_Click(object sender, EventArgs e)
{
    if (TextBox1.Text != "0-9" && TextBox2.Text != "0-9")  
    {
        GridView1.Visible = true;
    }

    else  
    {
        Label3.Text = "Insert phone and id correctly:" ;
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式作为选项。这样的事情应该起作用:

Regex pattern = new Regex(@"\+[0-9]{3}\s+[0-9]{3}\s+[0-9]{5}\s+[0-9]{3}");

if (pattern.IsMatch(TextBox1.Text))
{
     GridView1.Visible = true;
}
else  
{
   Label3.Text = "Insert phone and id correctly:" ;
}

根据您的要求,您可以更改此设置,以使其更符合您的需求。例如,这是另一个Regex

@"^(\+[0-9]{9})$"

作为另一种解决方案,您还可以使用LINQ:

if (textBox1.Text.All(char.IsDigit))
{
    GridView1.Visible = true;
}

别忘了将这些添加到您的using语句中:

using System.Text.RegularExpressions;
using System.Linq;