java实现手机号,密码,游邮箱 , 验证码的正则匹配工具类
先定义一个抽象类RegexPatterns,定义相关正则字符串 :
public abstract class RegexPatterns {/*** 手机号正则*/public static final String PHONE_REGEX = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";/*** 邮箱正则*/public static final String EMAIL_REGEX = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";/*** 密码正则。4~32位的字母、数字、下划线*/public static final String PASSWORD_REGEX = "^\\w{4,32}$";/*** 验证码正则, 6位数字或字母*/public static final String VERIFY_CODE_REGEX = "^[a-zA-Z\\d]{6}$";}
以检验手机号是否符合格式为例 :
定义一个工具类RegexUtils,实现isPhoneInvalid :
/*** 是否是无效手机格式* @param phone 要校验的手机号* @return true:符合,false:不符合*/public static boolean isPhoneInvalid(String phone){return mismatch(phone, RegexPatterns.PHONE_REGEX);}
其中检验是否不符合格式 :
// 校验是否不符合正则格式private static boolean mismatch(String str, String regex){if (StrUtil.isBlank(str)) {return true;}return !str.matches(regex);}
最后要用的话,直接调用isPhoneInvalid,然后将参数传进来即可 :
if(RegexUtils.isPhoneInvalid(phone)){// 2 . 如果不符合 , 报错/怎么办// xxxxxxx}else{// 符合,怎么办// xxxxxxxx}
相关文章:
java实现手机号,密码,游邮箱 , 验证码的正则匹配工具类
先定义一个抽象类RegexPatterns,定义相关正则字符串 : public abstract class RegexPatterns {/*** 手机号正则*/public static final String PHONE_REGEX "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";/*** 邮箱正则*/public stat…...
java中的Arrays类的常用操作
Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。 import java.util.Arrays; Arrays.sort(arr); int index Arrays.binarySearch(arr, 3); boolean isEqual Arrays.equals(arr1, arr2); // isEqual为true int[] arrnew int[5]; Arrays.fill(arr, 7)…...
回溯算法|78.子集
力扣题目链接 class Solution { private:vector<vector<int>> result;vector<int> path;void backtracking(vector<int>& nums, int startIndex) {result.push_back(path); // 收集子集,要放在终止添加的上面,否则会漏掉自…...
VC++、GCC、CLANG,INT128有符号整数编译器关键字
注意INT128为目标平台扩展关键字,不属于C/C语言本身支持特性,每个C/C编译器平台支持上都略有不同,甚至不支持。 可以详细参考本人此篇文章: GUN C/C (GCC/CLANG) 对于 __int128_t (128位有符号大整数的扩展支持平台限…...
用于HUD平视显示器的控制芯片:S2D13V40
一款利用汽车抬头显示技术用于HUD平视显示器的控制芯片:S2D13V40。HUD的全称是Head Up Display,即平视显示器,以前应用于军用飞机上,旨在降低飞行员需要低头查看仪表的频率。起初,HUD通过光学原理,将驾驶相关的信息投射…...
JSP使用模板字符串数据不能渲染的问题
entrap father 的 rubbish JSP 数据不能直接渲染,要从接口请求后去拼接结构 然后模板字符串不能直接用 用以下方法是不能渲染出数据的 let div <div class"circulation"><div class"list"><div class"left"><div class&qu…...
AI音乐GPT时刻来临:Suno 快速入门手册!
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
数字乡村发展蓝图:科技赋能农村实现全面振兴
目录 一、数字乡村发展蓝图的内涵与目标 二、科技赋能农村:数字乡村发展的动力与路径 (一)加强农业科技创新,提升农业生产效率 (二)推进农村电商发展,拓宽农民增收渠道 (三&…...
Day42 动态规划 part04
Day42 动态规划 part04 46. 携带研究材料(卡哥的卡码网的题目) 背包问题 我的思路: 写不了一点儿…T^T 总结规律就是,dp数组要比原来各个size 1,dp[i][j] Math.max(xxx, xxxx(根据题目情况进行各种处理)) 解答: …...
python set是什么类型
python set是一种数据类型,数学里的集合概念,在Python语言里对应的是set类型。与list,tuple不同的地方是,set更加强调的是一种“从属关系”(membership),跟顺序无关,所以有重复的元素…...
redis事务(redis features)
redis支持事务,也就是可以在一次请求中执行多个命令。redis中的事务主要是通过MULTI和EXEC这两个命令来实现的。 MULTI命令用来开启一个事务,事务开启之后,所有的命令就都会被放入到一个队列中,最后通过一个EXEC命令来执行事务中…...
SpringBoot整合minio
SpringBoot整合minio 1. 下载及安装1.1 windows版本1.2 Linux版本 2. SpringBoot整合minio2.1 依赖2.2 配置文件2.3 配置类2.4 工具类2.5 测试1. 业务层2. 控制层 1. 下载及安装 1.1 windows版本 目录结构 启动文件 标红的地方按实际安装地更改 echo off REM 声明采用UT…...
3090. 每个字符最多出现两次的最长子字符串
说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,…...
26.活锁、饥饿锁
两个线程,相互改变了对方结束条件,导致两个线程不能结束。执行时间也都是一样,导致两个线程永远不会结束。 Slf4j public class LiveLockDemo {static volatile int count 10;public static void main(String[] args) {new Thread(() ->…...
docker 安装nginx
一、先查看有没有nginx镜像 docker images 二、发现没有nginx镜像,下载最新镜像 docker pull nginx 三、运行镜像 为了先复制出部分文件,先启动一个临时容器 docker run --name nginx -p 9001:80 -d nginx docker cp nginx:/etc/nginx/conf.d /home/…...
2024年阿里云新用户便宜购买云服务器攻略:5大细节助你降低购买成本
随着互联网的蓬勃发展,无论是个人还是企业,拥有一个稳定且高效的网站或APP已成为提升竞争力的关键。为了将这些项目部署并运行起来,购买一台实用又便宜的云服务器是必不可少的。阿里云作为国内首屈一指的云服务提供商,自然成为了众…...
SSTI模板注入(jinja2)
前面学习了SSTI中的smarty类型,今天学习了Jinja2,两种类型都是flask框架的,但是在注入的语法上还是有不同 SSTI:服务器端模板注入,也属于一种注入类型。与sql注入类似,也是通过凭借进行命令的执行ÿ…...
ESP32学习---ESP-NOW(一)
ESP32学习---ESP-NOW(一) 官网简介arduino 官网简介 首先看官网的介绍:https://www.espressif.com.cn/zh-hans/solutions/low-power-solutions/esp-now ESP-NOW 是乐鑫定义的一种无线通信协议,能够在无路由器的情况下直接、快速…...
C++核心高级编程 --- 3、函数提高
文章目录 第三章:3.函数提高3.1 函数默认参数3.2 函数占位参数3.3 函数重载3.3.1 函数重载概述3.3.2 注意事项 第三章: 3.函数提高 3.1 函数默认参数 语法结构:返回值类型 函数名 (参数 默认值){} #include <iostream> using name…...
【微服务篇】深入理解分布式消息队列系统
分布式消息队列是一种在多个服务器、应用或服务之间进行消息传递的技术。它使得各个独立的组件可以通过异步消息进行通信,提高了系统的可扩展性、解耦性和可靠性。 典型应用场景 1. 异步处理 在许多系统中,某些任务的处理可能需要较长时间,…...
非隔离双向 DC/DC 变换器 buck - boost 变换器仿真探索
非隔离双向DC/DC变换器 buck-boost变换器仿真 输入侧为直流电压源,输出侧接蓄电池 模型采用电压外环电流内环的双闭环控制方式 可实现恒流充放电,且具备充放电保护装置防止过充和过放。 蓄电池充放电模式可切换 Matlab/Simulink模型在电力电子领域&#…...
AI原生应用:解决幻觉难题的有效途径
AI原生应用:解决幻觉难题的有效途径 关键词:AI原生应用、大模型幻觉、检索增强生成(RAG)、验证模块、智能系统架构 摘要:大语言模型(LLM)的“幻觉”(Hallucination)问题——生成与事实不符的内容,正成为AI应用落地的最大障碍。本文将从“AI原生应用”的视角出发,用通…...
ESP32 SPI性能调优指南:从80MHz时钟到DMA配置,避开那些坑
ESP32 SPI性能调优实战:突破80MHz时钟与DMA配置的终极指南 当你在ESP32项目中遇到SPI通信速度瓶颈时,是否曾为如何突破80MHz时钟限制而苦恼?是否在配置DMA时踩过各种坑?本文将带你深入ESP32 SPI性能优化的核心领域,从硬…...
游戏原画效率提升50%:Pixel Fashion Atelier在角色装备概念图批量生成中的应用
游戏原画效率提升50%:Pixel Fashion Atelier在角色装备概念图批量生成中的应用 1. 传统游戏原画设计的痛点 游戏开发过程中,角色装备设计往往是最耗时的环节之一。传统工作流程中,美术团队需要: 手工绘制数十种装备变体反复修改…...
从Sigmoid函数到脉冲频率:步进电机S型加减速的数学建模与C/C++实现
1. 为什么步进电机需要S型加减速 我第一次接触步进电机控制时,以为只要给脉冲信号就能让电机转起来。结果在实际项目中,电机要么启动时丢步,要么停止时过冲,把机械结构撞得砰砰响。后来才知道,步进电机和普通直流电机不…...
如何零配置搭建专业级视觉交互系统:MediaPipe TouchDesigner完全指南
如何零配置搭建专业级视觉交互系统:MediaPipe TouchDesigner完全指南 【免费下载链接】mediapipe-touchdesigner GPU Accelerated MediaPipe Plugin for TouchDesigner 项目地址: https://gitcode.com/gh_mirrors/me/mediapipe-touchdesigner 想要在TouchDes…...
国金证券QMT实盘连接指南:手把手教你配置交易环境与策略回测
国金证券QMT实盘连接实战:从环境搭建到策略部署全解析 引言 在量化交易的世界里,工具的选择往往决定了策略执行的效率与稳定性。国金证券QMT作为国内主流的量化交易平台之一,以其稳定的实盘连接能力和丰富的API接口受到众多量化交易者的青睐。…...
Grok-1深度实战指南:3140亿参数混合专家模型的高级部署与优化
Grok-1深度实战指南:3140亿参数混合专家模型的高级部署与优化 【免费下载链接】grok-1 马斯克旗下xAI组织开源的Grok AI项目的代码仓库镜像,此次开源的Grok-1是一个3140亿参数的混合专家模型 项目地址: https://gitcode.com/GitHub_Trending/gr/grok-1…...
终极指南:如何用org-roam保护敏感笔记的安全与隐私
终极指南:如何用org-roam保护敏感笔记的安全与隐私 【免费下载链接】org-roam Rudimentary Roam replica with Org-mode 项目地址: https://gitcode.com/gh_mirrors/or/org-roam org-roam是一款基于Org-mode的强大知识管理工具,它允许用户创建和管…...
GitHub贡献统计性能优化终极指南:5个关键技巧提升Streak Stats响应速度
GitHub贡献统计性能优化终极指南:5个关键技巧提升Streak Stats响应速度 【免费下载链接】github-readme-streak-stats 🔥 Stay motivated and show off your contribution streak! 🌟 Display your total contributions, current streak, and…...
