现在遇到一个需求,就是客户在发短信的时候,要在TextBox中输入手机号码或者直接读出号码到TextBox.
假如用户本来已经有了一个单独存放号码的文档,里面有好多手机号码,我怎样把这些手机号码取到TextBox里面,然后发送信息。
如果不能直接取,先把文档中的数据(注意是数据不是整个文档)存入数据库,然后再从数据库中读取出来也行。
请教各位大虾有什么解决办法没有?

解决方案 »

  1.   

    你可以读取号码文档的内容,然后使用正则表达式对手机号码进行匹配并提取出来,程序如下:
    (假设手机号码文档为:C:\mobile.txt) System.IO.StreamReader streamReader = System.IO.File.OpenText(@"C:\mobile.txt");
                                // 读取文档内容
    string mobiles = streamReader.ReadToEnd(); Regex reg =new Regex(@"13\d{9}");                           // 遍历所有匹配到的手机号码,以“,”号分隔存放到 textBox1中去。
    foreach(Match match in reg.Matches(mobiles))
    {
    textBox1.Text += match.Groups[0].Value + ",";
    } if(textBox1.Text!="")
    {
    // 删除最后一个逗号
    textBox1.Text = textBox1.Text.Remove(textBox1.Text.Length-1,1);
    }
      

  2.   

    上例出错:
    找不到类型或命名空间名称“reg”(是否缺少 using 指令或程序集引用?)
    找不到类型或命名空间名称“Regex”(是否缺少 using 指令或程序集引用?)
      

  3.   

    读取文本文件,让其一行写一个手机号码,再你去读取的时候一行一行读取就好了
    String input;
    StreamReader sr;
    private void GetValues(string fileName)
    {
    sr = File.OpenText(fileName);
    while ((input=sr.ReadLine())!=null) 
    {
                //再这里判断读取的时候为手机号码等操作了
    }
    }
      

  4.   

    我通过下面的方法问题已经解决:
                                StreamReader srd; 
    //取得文件的实际路径 
    string file_path=Server.MapPath ("moblie_num.txt"); 
    //string file_path=Server.MapPath (myfile.Value); 
    //打开文件进行读取 
    srd=File.OpenText (file_path); 
    string str=srd.ReadToEnd();
    TextBox1.Text=str.ToString(); 
    srd.Close (); 
    现在我想让用户通过file浏览本机文件,怎样获取该路经呢?
    我用
    string file_path=Server.MapPath (myfile.Value);
    获取路径出现错误:MapPath“C:\Documents and Settings\Administrator\桌面\moblie_num.txt”的路径无效。应为虚拟路径。 
    怎样获取??????
      

  5.   

    Regex 是正则表达式啊,需要加上命名空间:
    using System.Text.RegularExpressions;
      

  6.   

    你如果是用ASP.NET的话应该是直接用:
    string file_path=myfile.Value; Server.MapPath (myfile.Value); 是映射服务器的路径了,而你是要得到客户机器文件的路径,所以直接用 string file_path=myfile.Value; 就可以了。