架構師_程序員

 找回密碼
 注冊[Register]

QQ登錄

只需一步,快速開始

查看: 1925|回復: 1

[WinForm] winform右擊導入手機號碼

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2016-9-21 09:59:43
zu
  1. private void 導入手機號ToolStripMenuItem_Click(object sender, EventArgs e)
  2.         {
  3.             using (OpenFileDialog Openfile = new OpenFileDialog())
  4.             {
  5.                 Openfile.Filter = "文本文件|*.txt";
  6.                 Openfile.Multiselect = false;
  7.                 if (Openfile.ShowDialog() == DialogResult.OK)
  8.                 {
  9.                     Thread threadfile = new Thread(() => ReadFile(Openfile.FileName));
  10.                     threadfile.IsBackground = true;
  11.                     threadfile.Start();
  12.                 }
  13.             }
  14.         }

  15.         private void ReadFile(string filename)
  16.         {
  17.             txtlog.Invoke(new Action(() =>
  18.             {
  19.                 txtlog.AppendText("開始讀取手機號碼".SetLog());
  20.             }));
  21.             var file = File.Open(filename, FileMode.Open);
  22.             int num = 0;
  23.             int goods = 0;
  24.             int repeat = 0;
  25.             using (var stream = new StreamReader(file))
  26.             {
  27.                 while (!stream.EndOfStream)
  28.                 {
  29.                     lock (lock_send)
  30.                     {
  31.                         if (sendlist.Count > 99)
  32.                         {
  33.                             break;
  34.                         }
  35.                     }
  36.                     num++;
  37.                     string linetemp = stream.ReadLine().Trim();
  38.                     if (IsTel(linetemp))
  39.                     {
  40.                         lock (lock_send)
  41.                         {
  42.                             var data = sendlist.Where(m => m.Tel == linetemp).FirstOrDefault();
  43.                             if (data != null)
  44.                             {
  45.                                 repeat++;
  46.                                 continue;
  47.                             }
  48.                         }
  49.                         goods++;
  50.                         SendTel _send = new SendTel();
  51.                         _send.Tel = linetemp;
  52.                         _send.sms_status = status.待發送;
  53.                         _send.send_time = null;
  54.                         ListViewItem item = new ListViewItem(_send.Tel);
  55.                         item.SubItems.Add(_send.sms_status.ToString());
  56.                         item.SubItems.Add(_send.send_time);
  57.                         item.SubItems.Add("");
  58.                         listSend.Invoke(new Action(() =>
  59.                         {
  60.                             ListViewItem backitem = listSend.Items.Add(item);
  61.                             dic.Add(_send.Tel, backitem);
  62.                         }));
  63.                         lock (lock_send)
  64.                         {
  65.                             sendlist.Add(_send);
  66.                         }
  67.                     }
  68.                 }
  69.             }
  70.             txtlog.Invoke(new Action(() =>
  71.             {
  72.                 string log = string.Format("添加完成!有效數據為:{0},過濾重復數據:{1},總數據:{2}", goods.ToString(), repeat.ToString(), num.ToString());
  73.                 txtlog.AppendText(log.SetLog());
  74.             }));

  75.         }
  76.         /// <summary>
  77.         /// 驗證手機號是否合法
  78.         /// </summary>
  79.         /// <param name="tel"></param>
  80.         /// <returns></returns>
  81.         public static bool IsTel(string tel)
  82.         {
  83.             try
  84.             {
  85.                 if (string.IsNullOrEmpty(tel) || tel.Length != 11)
  86.                 {
  87.                     return false;
  88.                 }
  89.                 return System.Text.RegularExpressions.Regex.IsMatch(tel, @"^[1]+[3,4,5,6,7,8]+\d{9}");
  90.             }
  91.             catch (Exception ex)
  92.             {
  93.                 return false;
  94.             }
  95.         }
復制代碼
很久以前寫的代碼了,讀取txt文件,一行一個手機號碼,

好像要求txt文本文件必須是utf8格式,否則讀取出來會亂碼。




上一篇:友情鏈接申請標準和方式
下一篇:c#批量生成郵箱地址代碼
帖子永久地址: 

架構師_程序員 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
2、本站所有主題由該帖子作者發表,該帖子作者與架構師_程序員享有帖子相關版權
3、其他單位或個人使用、轉載或引用本文時必須同時征得該帖子作者和架構師_程序員的同意
4、帖子作者須承擔一切因本文發表而直接或間接導致的民事或刑事法律責任
5、本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、架構師_程序員管理員和版主有權不事先通知發貼者而刪除本文

碼農網,只發表在實踐過程中,遇到的技術難題,不誤導他人。
沙發
 樓主| 發表于 2017-10-21 22:01:20
c# 怎么分割字符串啊“----” 用四個-分割
以下兩個都可以的。其實一個道理。因為去了空
Split(new string[] { "----" }, StringSplitOptions.RemoveEmptyEntries);
Split(new string[] { "-" }, StringSplitOptions.RemoveEmptyEntries);
碼農網,只發表在實踐過程中,遇到的技術難題,不誤導他人。
您需要登錄后才可以回帖 登錄 | 注冊[Register]

本版積分規則

免責聲明:
碼農網所發布的一切軟件、編程資料或者文章僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負。本站信息來自網絡,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦中徹底刪除上述內容。如果您喜歡該程序,請支持正版軟件,購買注冊,得到更好的正版服務。如有侵權請郵件與我們聯系處理。

Mail To:help@itsvse.com

QQ|Archiver|手機版|小黑屋|架構師 ( 魯ICP備14021824號-2 )|網站地圖

GMT+8, 2019-12-5 21:38

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
吉林快三走势图