package utils; import java.util.Random;
import java.util.regex.Pattern; /**
* Created with IntelliJ IDEA.
* Description:
* 手机号正则: ^1[34578][0-9]{9}
* 生成手机号工具类
*
* @author
* Date: 2017-11-09
* Time: 10:24
*/
public class PhoneNoGeneratorUtil { private static String firstNum = "1";
private static String[] secondNumArray = {"3", "4", "5", "7", "8"}; /**
* 调用一次生成一个手机号,手机号后9位数字通过循环生成
*/
public String getPhoneNo() { StringBuffer sb = new StringBuffer();
Random random = new Random();
String secondNum = secondNumArray[random.nextInt(secondNumArray.length)];
sb.append(firstNum);
sb.append(secondNum);
for (int i = 0; i < 9; i++) {
Integer thirdNum = random.nextInt(10);
sb.append(thirdNum.toString());
}
return sb.toString();
} /**
* 当需要生成较大量的手机号时调用该方法
* 后9位数字随机生成,长度不足时则补0
*/
public String getMultiPhoneNo() { StringBuffer sb = new StringBuffer();
Random random = new Random();
String secondNum = secondNumArray[random.nextInt(secondNumArray.length)];
sb.append(firstNum);
sb.append(secondNum);
Integer thirdNum = 1 + random.nextInt(999999999);
if (thirdNum.toString().length() <= 9) {
sb.append(thirdNum);
for (int i = 1; i <= 9 - thirdNum.toString().length(); i++) {
sb.append(0);
}
} else {
sb.append(thirdNum.toString());
}
return sb.toString(); } /**
* 手机号校验
*/
public boolean checkPhoneNo(String phoneNum) { // 定义手机号的规则
String phoneNumPattern = "^1[34578][0-9]{9}";
// 比对phoneNum是否符合定义的规则
boolean result = Pattern.matches(phoneNumPattern, phoneNum);
return result; } }

JAVA工具类--手机号生成与正则校验的更多相关文章

  1. 【java工具类】生成Zip压缩包

    多文件生成压缩包,返回压缩包生成位置的路径. FileUtil.java /** * 文件打压缩包 * @param files * @param Name * @return * @throws E ...

  2. 【java工具类】生成二维码

    /** * 生成二维码图片 * @param text 扫描二维码后跳转的url * @param width 图片宽度 * @param height 图片高度 * @param filePath ...

  3. JAVA之旅(五)——this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块

    JAVA之旅(五)--this,static,关键字,main函数,封装工具类,生成javadoc说明书,静态代码块 周末收获颇多,继续学习 一.this关键字 用于区分局部变量和成员变量同名的情况 ...

  4. Java工具类——通过配置XML验证Map

    Java工具类--通过配置XML验证Map 背景 在JavaWeb项目中,接收前端过来的参数时通常是使用我们的实体类进行接收的.但是呢,我们不能去决定已经搭建好的框架是怎么样的,在我接触的框架中有一种 ...

  5. Java工具类-验证码工具

    1.工具类,生成随机验证码字符串 import java.util.Arrays; /** * 工具类,生成随机验证码字符串 * * @version 1.0 * @author * */ publi ...

  6. Java工具类——数学相关的类

    Java工具类--数学相关的类 在上一篇文章中,我们系统学习了 Java 里面的包装类,那么这篇文章,我们就来学习一下Java提供好的类--数学相关的类. 一.数学类介绍 在最早期学习 Java 基础 ...

  7. java工具类系列 (四.SerializationUtils)

    java工具类系列 (四.SerializationUtils) SerializationUtils该类为序列化工具类,也是lang包下的工具,主要用于序列化操作 import java.io.Se ...

  8. 排名前 16 的 Java 工具类

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  9. 排名前16的Java工具类

    原文:https://www.jianshu.com/p/9e937d178203 在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法 ...

随机推荐

  1. HDU4035 Maze (概率DP)

    转:https://www.cnblogs.com/kuangbin/archive/2012/10/03/2711108.html 题意: 有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, ...

  2. 【CDN+】 Hive 入门 以及Handoop 系统认知

    前言 本文主要介绍Hive 的基础概念,以及Handoop的大体架构,组件依赖,对于大数据有个总体的认识 Hive 基础概念 官网:https://hive.apache.org/ The Apach ...

  3. SqL语句基础之增删改查

    增查删改的SQL语句,如此的实用,下面我就来简单介绍一下它简单的用法. 1.什么是SQL? SQL是用于访问和处理数据库的标准的一种计算机语言. 2.SQL可以做什么?  (1)可以向数据库进行查询 ...

  4. 快速测试端口的连通性(HTTP/HTTPS)

    ping 仅限 80 端口,命令中无法指定端口: C:\Users\Administrator>ping kikakika.com 遗失对主机的连接. 正在 Ping kikakika.com ...

  5. [转]Scikit-learn使用总结

    1 scikit-learn基础介绍 1.1 估计器(Estimator) 估计器,很多时候可以直接理解成分类器,主要包含两个函数: fit():训练算法,设置内部参数.接收训练集和类别两个参数. p ...

  6. < python PIL - 批量图像处理 - RGB图像生成灰度图像 >

    < python PIL - 批量图像处理 - RGB图像生成灰度图像 > 直接用python自带的PIL图像库,将一个文件夹下所有jpg/png的RGB图像转换成灰度/黑白图像 from ...

  7. 微信小程序这一块(中)

    1.if语句跟for循环的使用 <block wx:if="{{n==1}}"> <view>1917</view> </block> ...

  8. docker安装及基本命令

    Ubuntu安装docker sudo apt-get install docker.io Centos安装docker # 更新系统软件包 yum -y upgrade # 官方下载地址 curl ...

  9. 解决Linux下Svn检出Windows SVN服务器上项目SSL handshake failed: SSL error: Key usage violation in certificate has been detected.

    在Linux上检出windows SVN服务器上项目时出现了SSL handshake failed: SSL error: Key usage violation in certificate ha ...

  10. c#批量插入

    一.创建一个用来测试的数据库和表 USE [Test] GO /****** Object: Table [dbo].[student] Script Date: 2019/4/11 15:38:59 ...