java 实现手机号码(String)校验----两种方法
要求的手机号码:
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)校验----两种方法相关推荐
- java 匿名list,java创造匿名对象的两种方法
在java中有时候需要一些匿名对象的使用.可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过.本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们 ...
- JAVA中初始化线程的两种方法_java中最简单的方式新起一个线程
启动一个线程 在一个方法中启动一个线程,有两种方法 第一种是让类实现Runable接口,这样的话编译器就会提示你实现里面的未实现的方法(就是run方法) 第二种是,现在方法中new一个线程,然后直接调 ...
- Java中创建String的两种方式差异
我们知道创建一个String类型的变量一般有以下两种方法: String str1 = "abcd"; String str2 = new String("abcd&qu ...
- 实现JAVA时间加减的两种方法
JAVA的时间加减 1.获取当前系统时间 Date date = new Date(); 2.实现时间的加减的两种方法 第一种: 用java.text.SimpleDateFormat来实现 Simp ...
- Apache Software Foundation Thinking in Java:只要仔细审视,两种方法的使用场合应该是相当明显的
引论 : 对于继承可能会引发某种争论:继承应该只重载基类的方法(而并不添加在基类中没有的新方法)吗?如果这样做,就意味着导出类和基类是完全相同的类型,因为它们具有完全相同的接口.结果你可以用一个导出类 ...
- Java程序优雅关闭的两种方法(程序停止前做一些善后工作)
java程序关闭时,往往需要做一些善后工作,称之为优雅关闭.这里介绍两种比较典型的方法: 一.注册关闭钩子 通过调用Runtime.getRuntime().addShutdownHook()方法,添 ...
- Spring的核心机制依赖注入,Junit测试与Java基础Getter和Setter两种方法意义——2017.07.26...
今天对Spring的基础理解又加深了一丢丢. 1 首先Spring的基础配置文件中,主要由以下几个配置文件, 1 <beans xmlns:xsi="http://w3.org/200 ...
- java list翻转_JAVA实现两种方法反转单列表
/***@authorluochengcheng * 定义一个单链表*/ classNode {//变量 private intrecord;//指向下一个对象 privateNode nextNod ...
- 【java】StringBuilder的常用两种方法与练习
String Builder 1.定义:一种比String更灵活,长度可变的字符串类 2.构造方法 package com.ljh.StringBuilderDemo;/*** @Author: lj ...
最新文章
- mysqldump备份数据库时出现when using LOCK TABLES
- SRE工程师到底是做什么的?
- cad2020 开始_如何设置CAD2020经典模式,原来这么简单,一起来看看
- 11张图让你看完苹果发布会
- 软件工程---第四章---形式化分析
- mysql5.7 json特性_【Mysql】Mysql5.7新特性之-json存储
- java-redis初探
- while循环 dowhile循环 for循环(C++)
- 算法 - 差分进化(DE)算法
- mysql大于等于号
- c语言考试排座位系统源程序,c语言_排考场座位问题:.doc
- 计算机数据库方向论文ei,Ei Compendex数据库收录中国论文统计分析
- 北航计算机考博经验,北航考博经验总结和感受
- 第一代云原生企业米哈游如何让想象发生?
- android sd卡数据恢复,手机sd卡受损怎么办 手机内存卡数据恢复方法【详解】
- ipadpython代码_科学网—如何用iPad运行Python代码? - 王树义的博文
- 在安装了zonealarm的机器上实现共享上网
- IE8正式版下载地址
- 网络温湿度测量控制系统
- 如何应对失业潮风险?——普通人的生存指南
热门文章
- Atitit 手机号码选号 规范 流程 attilax总结 v2 r99.docx
- (软件构造) 关于JDK版本更换问题(附jdk下载链接以及jdk环境变量全教程)
- 妈妈不在身边的第X个母亲节,用AI找回她的美好时光
- MOSES翻译系统的训练,调优和使用
- MMORPG的常规技能系统
- 东南大学计算机视觉博士招生,基于计算机视觉的手势识别及人机交互技术的应用研究...
- html中div是什么意思
- 使用OpenCV对物体搜索检测与识别
- 视频如何加水印文字?
- linux升级gfortran版本,Ubuntu下GCC、G++和gfortran版本切换