要求的手机号码:

1.号码位数只有11位
2.不能出现字母或其他字符
3.一般以13x 15x 18x开头

通过正则表达式校验:

import java.util.regex.Matcher;
import java.util.regex.Pattern;@Testpublic void test() {Pattern pattern = Pattern.compile("^((13[0-9])|(14[0-9])|(15[0-9])|(16[0-9])|(17[0-9])|(18[0-9]))\\d{8}$+");// phone1 正常号码String phone1 = "13875401431";// phone2 加入字符String phone2 = "1387cc01431";// phone3 号码位数为10位String phone3 = "138740143";Matcher matcher1 = pattern.matcher(phone1);Matcher matcher2 = pattern.matcher(phone2);Matcher matcher3 = pattern.matcher(phone3);if (matcher1.find()) {System.out.println(matcher1.group());  // 输出成功:13875401431}if (matcher2.find()) { // 找不到System.out.println(matcher2.group()); }if (matcher3.find()) { // 找不到System.out.println(matcher3.group());}}

暴力方法(ACSII):

        String isPhone = "18874014311";int index = 11;if (StrUtil.isEmpty(isPhone) || isPhone.length() != index) {return "请输入正确的电话号码";}for (int i=0; i<isPhone.length();i++) {if (isPhone.charAt(i) == ' ' || (isPhone.charAt(i) >= 97 &&isPhone.charAt(i) <= 122) || (isPhone.charAt(i) >= 65 && isPhone.charAt(i) <= 90)) {return "请输入正确的电话号码";}}

这个只适合用户号码位数和是否含有字母进行判断,无法校验号码开头

java 实现手机号码(String)校验----两种方法相关推荐

  1. java 匿名list,java创造匿名对象的两种方法

    在java中有时候需要一些匿名对象的使用.可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过.本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们 ...

  2. JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程

    启动一个线程 在一个方法中启动一个线程,有两种方法 第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法) 第二种是,现在方法中new一个线程,然后直接调 ...

  3. Java中创建String的两种方式差异

    我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd"; String str2 = new String("abcd&qu ...

  4. 实现JAVA时间加减的两种方法

    JAVA的时间加减 1.获取当前系统时间 Date date = new Date(); 2.实现时间的加减的两种方法 第一种: 用java.text.SimpleDateFormat来实现 Simp ...

  5. Apache Software Foundation Thinking in Java:只要仔细审视,两种方法的使用场合应该是相当明显的

    引论 : 对于继承可能会引发某种争论:继承应该只重载基类的方法(而并不添加在基类中没有的新方法)吗?如果这样做,就意味着导出类和基类是完全相同的类型,因为它们具有完全相同的接口.结果你可以用一个导出类 ...

  6. Java程序优雅关闭的两种方法(程序停止前做一些善后工作)

    java程序关闭时,往往需要做一些善后工作,称之为优雅关闭.这里介绍两种比较典型的方法: 一.注册关闭钩子 通过调用Runtime.getRuntime().addShutdownHook()方法,添 ...

  7. Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...

    今天对Spring的基础理解又加深了一丢丢. 1 首先Spring的基础配置文件中,主要由以下几个配置文件, 1 <beans xmlns:xsi="http://w3.org/200 ...

  8. java list翻转_JAVA实现两种方法反转单列表

    /***@authorluochengcheng * 定义一个单链表*/ classNode {//变量 private intrecord;//指向下一个对象 privateNode nextNod ...

  9. 【java】StringBuilder的常用两种方法与练习

    String Builder 1.定义:一种比String更灵活,长度可变的字符串类 2.构造方法 package com.ljh.StringBuilderDemo;/*** @Author: lj ...

最新文章

  1. mysqldump备份数据库时出现when using LOCK TABLES
  2. SRE工程师到底是做什么的?
  3. cad2020 开始_如何设置CAD2020经典模式,原来这么简单,一起来看看
  4. 11张图让你看完苹果发布会
  5. 软件工程---第四章---形式化分析
  6. mysql5.7 json特性_【Mysql】Mysql5.7新特性之-json存储
  7. java-redis初探
  8. while循环 dowhile循环 for循环(C++)
  9. 算法 - 差分进化(DE)算法
  10. mysql大于等于号
  11. c语言考试排座位系统源程序,c语言_排考场座位问题:.doc
  12. 计算机数据库方向论文ei,Ei Compendex数据库收录中国论文统计分析
  13. 北航计算机考博经验,北航考博经验总结和感受
  14. 第一代云原生企业米哈游如何让想象发生?
  15. android sd卡数据恢复,手机sd卡受损怎么办 手机内存卡数据恢复方法【详解】
  16. ipadpython代码_科学网—如何用iPad运行Python代码? - 王树义的博文
  17. 在安装了zonealarm的机器上实现共享上网
  18. IE8正式版下载地址
  19. 网络温湿度测量控制系统
  20. 如何应对失业潮风险?——普通人的生存指南

热门文章

  1. Atitit 手机号码选号 规范 流程 attilax总结 v2 r99.docx
  2. (软件构造) 关于JDK版本更换问题(附jdk下载链接以及jdk环境变量全教程)
  3. 妈妈不在身边的第X个母亲节,用AI找回她的美好时光
  4. MOSES翻译系统的训练,调优和使用
  5. MMORPG的常规技能系统
  6. 东南大学计算机视觉博士招生,基于计算机视觉的手势识别及人机交互技术的应用研究...
  7. html中div是什么意思
  8. 使用OpenCV对物体搜索检测与识别
  9. 视频如何加水印文字?
  10. linux升级gfortran版本,Ubuntu下GCC、G++和gfortran版本切换