首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

13044499908;王;Admin;如何提取数字?

2012-03-02 
13044499908王;Admin;怎么提取数字??13044499908王;Admin;在这个字符串中怎么提取出电话号码?[解决办法]

13044499908;王;Admin;怎么提取数字??
13044499908;王;Admin; 在这个字符串中怎么提取出电话号码?

[解决办法]
给你一个完整的代码,区分并整理了里面的移动连通小灵通

C# code
using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Text.RegularExpressions;using System.IO;public partial class dotext_tel : System.Web.UI.Page{    protected void Page_Load(object sender, EventArgs e)    {        if (IsPostBack)        {            TD1.Visible = true;            TD2.Visible = true;        }    }    protected void Button1_Click(object sender, EventArgs e)    {        File.AppendAllText(Server.MapPath("/") + "upload/zhengli/原文件" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt", TextBox1.Text);        string otel = TextBox1.Text;        //string ntel = "";        string onetel = "";        string etel = "";        string quhao = TextBox4.Text.Trim();        string yidong = "";        string liantong = "";        string xiaolingtong = "";        string[] thetel = otel.Split(new string[] { "\r\n", ",", "、", "\\", "/", " ", "(", ")", ";", ":" }, StringSplitOptions.RemoveEmptyEntries);        for (int i = 0; i < thetel.Length; i++)        {            onetel = thetel[i].Trim();            if (Regex.IsMatch(onetel, @"^1[3,5][0-9]{9}$"))//标准手机号码            {                if (isliantong(onetel))                {                    liantong = liantong + onetel + "\r\n";                }                else                {                    yidong = yidong + onetel + "\r\n";                }            }            else if (Regex.IsMatch(onetel, @"^\+861[3,5][0-9]{9}$"))//不标准手机号码,带+86的            {                onetel = onetel.Substring(4);                if (isliantong(onetel))                {                    liantong = liantong + onetel + "\r\n";                }                else                {                    yidong = yidong + onetel + "\r\n";                }            }            else if (Regex.IsMatch(onetel, @"^01[3,5][0-9]{9}$"))//0开头的手机号码            {                onetel = onetel.Substring(2);                if (isliantong(onetel))                {                    liantong = liantong + onetel + "\r\n";                }                else                {                    yidong = yidong + onetel + "\r\n";                }            }            else//手机号码判断完毕后,其他的为小灵通号码            {                if (Regex.IsMatch(onetel, @"^0[1-9][0-9]{8,10}$"))//带区号的小灵通号码                {                    xiaolingtong = xiaolingtong + onetel + "\r\n";                }                else if (Regex.IsMatch(onetel, @"^0[1-9][0-9]{1,2}[\-][1-9][0-9]{6,7}$"))//带-的号码                {                    xiaolingtong = xiaolingtong + onetel.Replace("-", "") + "\r\n";                }                else if (Regex.IsMatch(onetel, @"^[1-9][0-9]{6,7}$"))//不带区号的小灵通号码(7或8位数字)                {                    if ((onetel.Length + quhao.Length) == 10)//区号+小灵通号码等于10位不存在的号码                    {                        etel = etel + onetel + "\r\n";                    }                    else                    {                        xiaolingtong = xiaolingtong + quhao + onetel + "\r\n";                    }                }                else if (Regex.IsMatch(onetel, @"^1060[1-9][0-9]{8,10}$"))//带106前缀的小灵通号码                {                    xiaolingtong = xiaolingtong + onetel.Substring(4) + "\r\n";                }                else if (Regex.IsMatch(onetel, @"^\+861060[1-9][0-9]{8,10}$"))//带+86106前缀的小灵通号码                {                    xiaolingtong = xiaolingtong + onetel.Substring(7) + "\r\n";                }                else//不规则的号码                {                    if (onetel.Length > 1)//只对大于3位的做处理,过滤掉无内容的项                    {                        etel = etel + thetel[i].Trim() + "\r\n";                    }                }            }            //else if(Regex.IsMatch(onetel,            //if (onetel.Length == 11)            //{            //                //}            //else if (onetel.Length == 8)            //{            //    ntel = ntel + "027" + thetel[i].Trim() + "\r\n";            //}            //else            //{            //                //}        }        File.AppendAllText(Server.MapPath("/") + "upload/zhengli/" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".txt", "移动" + yidong + "联通" + liantong + "小灵通" + xiaolingtong);        TextBox2.Text = yidong;        TextBox3.Text = etel;        TextBox5.Text = liantong;        TextBox6.Text = xiaolingtong;        Label2.Text = yidong.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Length.ToString();        Label3.Text = liantong.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Length.ToString();        Label4.Text = xiaolingtong.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Length.ToString();        Label1.Text = Convert.ToString(Convert.ToInt32(Label2.Text) + Convert.ToInt32(Label3.Text) + Convert.ToInt32(Label4.Text));    }    //判断是否连通号码    public bool isliantong(string onetel)    {        return Regex.IsMatch(onetel, @"^13[0,1,2,3][0-9]{8}$|^15[1,2,3,5,6][0-9]{8}$");    }} 

热点排行