u014787140
需要盐的日子
采纳率0%
2017-06-28 12:59 阅读 2.2k

文本中是否包含手机号 正则表达式

请教各位一下,正则表达式 字符串包含1个或多个手机号?正则写的少,急着用 麻烦大家了。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • oyljerry oyljerry 2017-06-28 13:17
  • yushiyoufight 半杯凉月 2017-06-29 01:47

    private static String checkNum(String num){
    if(num == null || num.length() == 0){return "";}
    Pattern pattern = Pattern.compile("(?<!\d)(?:(?:1[-9]\d{9})"); //包含虚拟运营商号段
    Matcher matcher = pattern.matcher(num);
    StringBuffer bf = new StringBuffer(64);
    while (matcher.find()) {
    bf.append(matcher.group()).append(",");
    }
    int len = bf.length();
    if (len > 0) {
    bf.deleteCharAt(len - 1);
    }
    return bf.toString();
    }

    点赞 评论 复制链接分享
  • yizishou yizishou 2017-06-30 03:17

    如果你知道手机号的正则,那么验证是否包含手机号就很简单了。

    比如,如果你要用的手机号正则是:1[3|4|5|7|8][0-9]{9}
    那么只需要在前面加上.*,后面也加上.*,就能验证是否包含手机号了。

    即:.*1[3|4|5|7|8][0-9]{9}.*

    .*能够匹配任意字符(某些情况下不包含换行符)。

    点赞 评论 复制链接分享

相关推荐