正则学习电话匹配

private static void Replace(string html)
{
if (html.IndexOf(',') > 0)
{
html = html.Substring(0, html.IndexOf(','));
}

html = Regex.Replace(html, @"\s|[a-z]|[\u4e00-\u9fa5]", string.Empty, RegexOptions.IgnoreCase);
//html = Regex.Replace(html, @"[a-z]", string.Empty, RegexOptions.IgnoreCase);
//html = Regex.Replace(html, @"[\u4e00-\u9fa5]", string.Empty, RegexOptions.IgnoreCase);
// 长度不足的直接返回
if (html.Length < 7)
{
// return html;
}
html = Regex.Replace(html, @"[–-\*]", "-");
html = Regex.Replace(html, "[(.)]", string.Empty);
html = Regex.Replace(html, "--", "-");
//html = Regex.Replace(html, ".", "");
//html = Regex.Replace(html, "–", "-");

if (Regex.IsMatch(html, @"^400"))
{
html = Regex.Replace(html, "-", "");
if (html.Length > 10)//有分机号
{
html = html.Insert(10, "-");
}
html += "特殊电话";
}
else if (Regex.IsMatch(html, @"^1[35]\d{9}$"))//正常手机
{
html = html + "正常手机";
}
else if (Regex.IsMatch(html, @"^1[35]\d{9}"))//不正常手机
{
html = Regex.Match(html, @"^1[35]\d{9}").Value + "不正常手机";
}
else if (Regex.IsMatch(html, @"^0\d{2,3}-*\d{7,8}$"))//正常电话无分机号
{
html = Regex.Replace(html,"-",string.Empty) + "正常电话";
}
else if (Regex.IsMatch(html, @"^0\d{2,3}-*\d{7,8}-*\d+$"))//正常电话有分机号
{
html += "正常电话有分机号";
}
else if(Regex.IsMatch(html, @"^0\d{2,3}-*\d{4,6}-*\d{2,4}$"))//正常电话无分机号被字符分隔
{
html = Regex.Replace(html, "-", string.Empty) + "正常电话无分机号被字符分隔";
}
else if (Regex.IsMatch(html, @"^(0\d{2,3}-*\d{4,6}-*\d{2,4})(-\d+$)"))//正常电话有分机号被字符分隔
{
Match match = Regex.Match(html, @"^(0\d{2,3}-*\d{4,6}-*\d{2,4})(-\d+$)");//正常电话有分机号被字符分隔
html = match.Groups[1].Value.Replace("-", string.Empty) +match.Groups[2].Value +"正常电话有分机号被字符分隔";
}
else
{
html = string.Empty;
}
Console.WriteLine(html);
//return html;
}


编辑器加载中...

posted on 2011-09-24 00:31  gotolovo  阅读(193)  评论(0编辑  收藏  举报