自定义String字符串工具类 StringUtils.java
自定义String字符串工具类 StringUtils.java
简介
- 自定义String字符串工具类
api
- 是否为空 checkEmpty(String str);
- 目标字符串是目标数组中的一个 checkContains(String str, String[] target);
- 限制最大长度 checkMaxLength(String str, Long l);
- 是否纯数字的字符串 checkStrNumber(String str);
- 是否联系电话 checkTel(String str);
- 是否字母汉字组合的字符串 checkStrName(String str);
源码
-
import java.util.regex.Matcher; import java.util.regex.Pattern;/*** String工具类*/ public class StringUtils {public static Boolean checkEmpty(String str){return null == str || "".equals(str.trim()) || "null".equals(str.trim());}/*** 目标字符串是目标数组中的一个* @param str* @return*/public static Boolean checkContains(String str, String[] target){for (String tar : target) {if (str.trim().equals(tar)) {return true;}}return false;}/*** 限制最大长度* @param str* @param l* @return*/public static Boolean checkMaxLength(String str, Long l){return str.length() <= l;}/*** 纯数字的字符串* @param str* @return*/public static Boolean checkStrNumber(String str){Pattern pattern = Pattern.compile("[0-9]+");Matcher isNum = pattern.matcher(str);if(!isNum.matches()){return false;}return true;}/*** 联系电话* 支持格式示例-固话:+86-010-40020020,010-40020020 国家代码选填* 手机:+86-10-13523458056, +86-13523458056 ,10-13523458056 ,13523458056 国家代码和区号选填* @param str* @return*/public static Boolean checkTel(String str){Pattern pattern = Pattern.compile("^(((\\+\\d{2}-)?0\\d{2,3}-\\d{7,8})|((\\+\\d{2}-)?(\\d{2,3}-)?([1][3,4,5,7,8][0-9]\\d{8})))$");Matcher isNum = pattern.matcher(str);if(!isNum.matches()){return false;}return true;}/*** 字母汉字组合的字符串* @param str* @return*/public static Boolean checkStrName(String str){Pattern pattern = Pattern.compile("[A-Za-z\u4e00-\u9fa5]+$");Matcher isNum = pattern.matcher(str);if(!isNum.matches()){return false;}return true;}}
相关文章:
自定义String字符串工具类 StringUtils.java
自定义String字符串工具类 StringUtils.java 简介 自定义String字符串工具类 api 是否为空 checkEmpty(String str);目标字符串是目标数组中的一个 checkContains(String str, String[] target);限制最大长度 checkMaxLength(String str, Long l);是否纯数字的字符串 check…...
mongTemplate实现group分组查询aggregation
MongoService封装 <T> List<T> group(Class<T> clazz, Aggregation aggregation,String documentName); MongoServiceImpl实现类 Overridepublic <T> List<T> group(Class<T> clazz, Aggregation aggregation,String documentName) {//…...
防御网络攻击风险的4个步骤
如今,人们正在做大量工作来保护 IT 系统免受网络犯罪的侵害。令人担忧的是,对于运营技术系统来说,情况却并非如此,运营技术系统用于运行从工厂到石油管道再到发电厂的所有业务。 组织应该强化其网络安全策略,因为针对…...
相机SD卡数据丢失如何恢复?
出门在外,相机是人们记录生活点滴的重要工具,是旅游的最佳玩伴。人们每到一个地方,都喜欢用相机来见证自己来过的痕迹,拍好的照片都会被放到相机卡里,但在使用相机时,有时我们会意外删除了重要的照片或视频…...
Java小记-矩阵转置
对于给定的一个二维矩阵,请转置后进行输出。 输入描述 对于一个n*m的矩阵,输入有n行,每行是m个以空格分隔的数字。 输出描述 n*m矩阵的转置矩阵。输出m行,每行是n个空格分隔的数据。 import java.io.*; import java.util.*;pub…...
计网-控制平面
下个月前最后一篇计网笔记,再坚挺一下,网络如同海洋,任我穿梭遨游~~ ——题记 大多数的算法更新,就是枚举 路由器与交换机的区别 文章目录 概述小白Dilistra:w的邻域按权值排序,v[w,i]min(c[w,i],v[w,i-1]c[i-1,i],...…...
Markdown 扩展语法练习
风无痕 August 26, 2023 Markdown 指南中文版 Markdown 入门指南Markdown 基本语法Markdown 扩展语法Markdown 基本语法练习Markdown 扩展语法练习 代码 <h3 id"table">表格</h3>| Syntax | Description | | --- | --- | | Header | Title | | Paragrap…...
ubuntu上安装boost库为SOMEIP的X86和ARM下编译做准备(编译两种版本)
1 X86架构Linux(ubuntu)操作系统上Boost库的编译安装1.1 Boost源码下载1.2 编译选项配置1.3 编译 Boost 库1.4安装 Boost 库2 Boost库的ARM架构编译1 X86架构Linux(ubuntu)操作系统上Boost库的编译安装 Boost库是C++拓展库,是SOMEIP源码编译所必需的库。编译 Boost 库时,…...
[NSSCTF 2nd] NSS两周年纪念赛。
都说开卷有益,其实作题也有益,每打一次总能学到点东西。 PWN NewBottleOldWine 这个没作出来,一时还不明白RISC-V64怎么弄本地环境,不过看了WP感觉很简单,取flag用不着环境。 IDA不给翻译了,一点点看汇…...
【星戈瑞】FITC-PEG-N3在细胞示踪中的应用
欢迎来到星戈瑞荧光stargraydye!小编带您盘点: FITC-PEG-N3在细胞示踪中具有多样性应用。细胞示踪是指使用荧光标记物追踪和观察细胞在体内或体外的位置、迁移、增殖等行为。以下是FITC-PEG-N3在细胞示踪中的主要应用方面: 1. 细胞迁移研究…...
【Linux】【驱动】自动创建设备节点
【Linux】【驱动】自动创建设备节点 续驱动代码操作指令linux端从机端 续 这里展示了如何自动的方式去创建一个字符类的节点 下面就是需要调用到的程序 函数 void cdev_init(struct cdev *, const struct file_operations *);第一个参数 要初始化的 cdev 第二个参数 文件操作…...
自实现getprocaddress(名称查找或者序号查找)
通过名称去找 // MyGETPRCOADDRESS.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 //#include <iostream> #include<Windows.h>/*WINBASEAPI //导出不需要使用,那么我们注释掉*/ FARPROC WINAPI MyGetProcAddress(_In_ HMO…...
如何DIY制作干洗店洗护小程序
洗护行业正逐渐迎来线上化的浪潮,传统的干洗店也开始尝试将业务线上化,以提供更便捷的服务给消费者。而制作一款洗护小程序,成为了干洗店实现线上化的重要一环。今天,我们就来分享一下如何使用第三方制作平台制作洗护小程序的教程…...
微前沿 | 第1期:强可控视频生成;定制化样本检索器;用脑电重建视觉感知;大模型鲁棒性评测
欢迎阅读我们的新栏目——“微前沿”! “微前沿”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里,你可以快速浏览研究院的亮点资讯,保持对前沿领域的敏锐嗅觉,同时也能找到先进实用的开源工具。 本期内容速览 01. 强可…...
SQLite数据库C_C++接口(保姆级API应用 1.4W字)(全网最详细介绍,学完必掌握)
目录 sqlite3的C/C API应用 前言 SQLite3库安装 API函数 打开、关闭、错误处理 打开 返回值 关闭 错误调试 实际应用 执行SQL(DDL、DML) API介绍 实际应用 回调函数查询 API介绍 实际应用 全缓冲查询 API介绍 实际应用 字节缓冲查询…...
倒计时:心理的镇静剂还是焦虑的火种?
倒计时:心理的镇静剂还是焦虑的火种? 目录 引言倒计时的作用与原理倒计时的双面性:缓解焦虑还是引发焦虑?如何正确使用倒计时结论 引言 在我们的日常生活和工作中,倒计时被广泛的应用。无论是在网购的抢购活动中&a…...
迅睿系统二开自定义函数和插件的自定义函数
全局的自定义函数: 全局的自定义函数文件:dayrui/My/Helper.php 此文件用于放网站自定义函数,程序会自动加载 当前站点的自定义函数文件:网站主目录/config/custom.php 插件的自定义函数: 基于App目录下的插件或模块…...
传统品牌如何通过3D虚拟数字人定制和动捕设备加速年轻化发展?
步入Z时代,年轻一代消费者的生活方式深受互联网技术和媒介环境影响,对新潮事物感兴趣,消费思维也相对前卫,品牌需要探索契合Z世代的消费观念,寻找新的链接拉近品牌与消费者的距离,而3D虚拟数字人定制可以帮…...
sql:SQL优化知识点记录(五)
(1)explain之例子 (2)索引单表优化案例 上面的功能已经实现,但是分析功能, 使用explain分析这条sql: 发现type为All Extra:有Using filesort (文件内排序) 这…...
1.3 Metasploit 生成SSL加密载荷
在本节中,我们将介绍如何通过使用Metasploit生成加密载荷,以隐藏网络特征。前一章节我们已经通过Metasploit生成了一段明文的ShellCode,但明文的网络传输存在安全隐患,因此本节将介绍如何通过生成SSL证书来加密ShellCodeÿ…...
思博伦TestCenter打流丢包?别急着甩锅设备,先看看这个20字节的‘隐形签名’
思博伦TestCenter打流丢包?别急着甩锅设备,先看看这个20字节的‘隐形签名’ 当你在深夜的机房里盯着思博伦TestCenter的测试报告,发现RFC2544吞吐量测试结果突然归零,而端口统计与流统计的数值差异大得离谱时,那种抓狂…...
从‘玩具项目’到‘线上产品’:我的Vue3项目在阿里云ECS上线的完整踩坑记录(含Nginx配置)
从本地开发到云端部署:Vue3项目实战全流程解析 第一次将自己的Vue项目部署到线上时,我盯着浏览器里那个404错误页面整整发呆了十分钟。作为一个刚完成基础学习的开发者,我原以为按照教程一步步操作就能顺利上线,但现实却给了我当头…...
西北工业大学GeekOS实验踩坑记:从分段到分页,手把手教你搞定Project4的虚拟内存
西北工业大学GeekOS实验深度解析:虚拟内存实现与优化实战 实验背景与核心挑战 操作系统课程中的GeekOS项目一直是计算机专业学生深入理解系统底层原理的重要实践环节。Project4作为其中的关键里程碑,要求学生从分段存储管理过渡到分页虚拟内存系统的实…...
视频内容自动打标:基于Emotion2Vec+ Large的语音情绪分析方案
视频内容自动打标:基于Emotion2Vec Large的语音情绪分析方案 1. 引言:语音情绪分析在视频内容管理中的价值 在视频内容爆炸式增长的今天,如何高效管理和检索海量视频素材成为内容平台面临的重大挑战。传统的人工打标方式不仅效率低下&#…...
Python实战:M3FD红外数据集高效转YOLO格式的完整指南
1. 为什么需要转换M3FD数据集格式 红外目标检测在夜间安防、自动驾驶等领域越来越重要,而M3FD作为优质的红外数据集却采用了VOC格式标注。这就像你买了台进口电器,却发现插头不匹配国内插座——虽然东西是好东西,但直接使用会遇到麻烦。 YO…...
VibeVoice与Vue3前端整合:浏览器端语音合成方案
VibeVoice与Vue3前端整合:浏览器端语音合成方案 1. 为什么要在浏览器里直接合成语音 你有没有遇到过这样的场景:在做一个在线教育应用时,想让系统自动朗读课文,但每次都要把文字发到后端服务器,等几秒钟再把音频文件…...
保姆级教程:在Ubuntu 22.04上搭建PXE服务器,自动化安装麒麟桌面系统(含NFS/TFTP/DHCP配置)
从零构建PXE自动化部署平台:Ubuntu 22.04环境下的麒麟系统无人值守安装实战 在中小型技术团队或开发者个人的工作场景中,频繁部署测试环境往往成为效率瓶颈。传统的光盘或U盘安装方式不仅耗时费力,更难以保证多台设备配置的一致性。本文将带您…...
告别拼接!深入对比鸿蒙与Android的multipart请求封装差异
鸿蒙与Android的multipart请求封装差异:从手动拼接到底层优化 在移动应用开发中,文件上传是一个常见但容易出错的场景。当我们需要同时上传文本和二进制数据时,multipart/form-data协议就成为了标准解决方案。然而,不同平台对这一…...
C++的std--ranges缓存性能
C的std::ranges缓存性能探析 在现代C编程中,std::ranges作为C20引入的重要特性,为算法和视图操作提供了更简洁、高效的表达方式。其性能表现,尤其是缓存友好性,直接影响实际应用的效率。本文将从多个角度探讨std::ranges的缓存性…...
别再傻傻分不清!一文讲透华为设备CRU与FRU区别及SmartKit工具的正确打开方式
华为设备维护进阶指南:CRU与FRU的深度解析及SmartKit高效应用 在数据中心运维和IT设备管理领域,华为设备的可靠性和性能一直备受认可。然而,即便是经验丰富的运维团队,在面对设备部件更换决策时,也常常陷入概念混淆和操…...
