问题是正则怎么写?
Regex objNaturalPattern=new Regex("此处!!!!!!!!"); if(objNaturalPattern.IsMatch(textBox1.Text)==true)
{
MessageBox.Show("1");
}

解决方案 »

  1.   

    bool IsMatch(string ms)
    {
    Regex r = new Regex(@"^(\d{3})(\d{2})(\d{4})$");
    Match m = r.Match(ms);
    return m.Success;//成功则返回 true 失败则返回false
    }
    //成功表示匹配成功,即用户输入的数据与正则表达式是相符合的
      

  2.   

    @"\d{2}-\d{3}-\d{4}"
    Regex objNaturalPattern=new Regex(@"\d{2}-\d{3}-\d{4}");
      

  3.   

    感觉楼主这样用会好些string a = "123456789";
    if(Regex.IsMatch(a, @"^\d{9}$"))
    {
         //MessageBox.Show("符合");
         a = Regex.Replace(a, @"^(\d{3})(\d{2})(\d{4})$", "$1-$2-$3");
    }
    else
    {
          MessageBox.Show("不符合");
    }
      

  4.   

    PS:楼主标题所给示例12-345-6789与贴子中的@"^(\d{3})(\d{2})(\d{4})$"不符啊
    按标题正则应该是@"^(d{2})(\d{3})(\d{4})$"
    按帖子内容示例应该是123-45-6789