关闭

Java正则表达式——验证手机号和电话号码

19294人阅读 评论(2) 收藏 举报
分类:

一个朋友需要,所以写了这两个,话不都说,看代码


 /**
   * 获取当前的httpSession
   * @author :shijing
   * 2016年12月5日下午3:46:02
   * @return
   */
  public static HttpSession getSession() {
    return getRequest().getSession();
  }
  
  /**
   * 手机号验证
   * @author :shijing
   * 2016年12月5日下午4:34:46
   * @param  str
   * @return 验证通过返回true
   */
  public static boolean isMobile(final String str) {
      Pattern p = null;
      Matcher m = null;
      boolean b = false;
      p = Pattern.compile("^[1][3,4,5,7,8][0-9]{9}$"); // 验证手机号
      m = p.matcher(str);
      b = m.matches();
      return b;
  }
  /**
   * 电话号码验证
   * @author :shijing
   * 2016年12月5日下午4:34:21
   * @param  str
   * @return 验证通过返回true
   */
  public static boolean isPhone(final String str) {
      Pattern p1 = null, p2 = null;
      Matcher m = null;
      boolean b = false;
      p1 = Pattern.compile("^[0][1-9]{2,3}-[0-9]{5,10}$");  // 验证带区号的
      p2 = Pattern.compile("^[1-9]{1}[0-9]{5,8}$");         // 验证没有区号的
      if (str.length() > 9) {
         m = p1.matcher(str);
         b = m.matches();
      } else {
          m = p2.matcher(str);
         b = m.matches();
      }
      return b;
  }
  
  public static void main(String[] args) {
    String phone = "13900442200";
    String phone2 = "021-88889999";
    String phone3 = "88889999";
    String phone4 = "1111111111";
    //测试1
    if(isPhone(phone) || isMobile(phone)){
      System.out.println("1这是符合的");
    }
    //测试2
    if(isPhone(phone2) || isMobile(phone2)){
      System.out.println("2这是符合的");
    }
    //测试3
    if(isPhone(phone3) || isMobile(phone3)){
      System.out.println("3这是符合的");
    }
    //测试4
    if(isPhone(phone4) || isMobile(phone4)){
      System.out.println("4这是符合的");
    }else{
      System.out.println("不符合");
    }
  }


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Java正则表达式判断是否为手机号码

Java/Android中电话号码正则表达式匹配
  • afei__
  • afei__
  • 2016-05-23 16:39
  • 44305

Java电话号码和手机号码正则验证

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor...
  • u010129251
  • u010129251
  • 2015-10-12 09:51
  • 3793

js手机号正则表达式验证

看到网上很多代码都很复杂,还包括以中文开头的86,17951,其实谁会填这么多,无非是检验一下他们是否位数对不对,开头有没有写错而已。下面我们从百度百科的手机号码历程来看:现在的手机号码段有联通、移动...
  • duchao123duchao
  • duchao123duchao
  • 2016-04-19 22:28
  • 44159

固定电话+手机号码正则表达式

区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$" 手机(中国移动手机号码):regexp="^(...
  • wangkai598
  • wangkai598
  • 2015-11-10 14:33
  • 11565

电话号码正则表达式

转自:最新手机号码验证正则表达式 需求:验证手机号码的合法性 写法 1:("^1[3|4|5|7|8][0-9]\\d{8}$") 写法 2:("^1[3|4|5|7|8][...
  • xiaomengzi_16
  • xiaomengzi_16
  • 2017-07-12 15:46
  • 302

固定电话+手机号码正则表达式

区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}/-)?([2-9][0-9]{6,7})+(/-[0-9]{1,4})?$"手机(中国移动手机号码):regexp="^((/(/...
  • wanglei2258
  • wanglei2258
  • 2010-04-26 16:00
  • 38040

java-正则表达式判断手机号

要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段,   故先要整清楚现在已经开放了多少个号码段,国家号码段分配如下:   移动:134、135、136、137、1...
  • centralperk
  • centralperk
  • 2012-03-16 13:27
  • 137408

Java正则表达式判断手机号是否合法

首先我们要搞清楚现在已经开放了多少个号码段,国家号码段分配如下: 移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188 联通:130...
  • FX_SKY
  • FX_SKY
  • 2014-03-06 12:06
  • 5922

java身份证号码校验、邮箱校验、手机号码/电话号码校验

import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; impor...
  • li396864285
  • li396864285
  • 2014-06-18 15:45
  • 2105

JAVA学习代码——验证手机号码是否正确

利用正则表达式判断手机号码 import java.util.Scanner; public class Test { //输入手机号码检查是否有误 public String ch...
  • Reserved_person
  • Reserved_person
  • 2016-08-16 17:44
  • 4995
    个人资料
    • 访问:558251次
    • 积分:5408
    • 等级:
    • 排名:第5811名
    • 原创:102篇
    • 转载:33篇
    • 译文:0篇
    • 评论:352条
    个人简介
    我只是一个简单的Coder,为了兴趣和理想奋斗在生活的道路上
    希望大家多多交流,共同进步,有疑问或想法请留言或者私信,也可以加群:157797573

    博客专栏
    最新评论
    你还在一个人孤独的奋斗吗?
    其实,你并不寂寞,欢迎加入CSDN Java群,这里是你的另一个家!    点击加入:CSDN Java群