架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 16858|回复: 1

[WinForm] winform右击导入手机号码

[复制链接]
发表于 2016-9-21 09:59:43 | 显示全部楼层 |阅读模式
  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#批量生成邮箱地址代码
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
 楼主| 发表于 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|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-10-16 23:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表