RegexUtils怎么使用
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,本篇内容主要讲解"RegexUtils怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"RegexUtils怎么使用"吧!站点正则相关→RegexUt
千家信息网最后更新 2025年01月31日RegexUtils怎么使用
本篇内容主要讲解"RegexUtils怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"RegexUtils怎么使用"吧!
站点
正则相关→RegexUtils.java→Test
isMobileSimple : 验证手机号(简单)isMobileExact : 验证手机号(精确)isTel : 验证电话号码isIDCard15 : 验证身份证号码15位isIDCard18 : 验证身份证号码18位isEmail : 验证邮箱isURL : 验证URLisZh : 验证汉字isUsername : 验证用户名isDate : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年isIP : 验证IP地址isMatch : 判断是否匹配正则getMatches : 获取正则匹配的部分getSplits : 获取正则匹配分组getReplaceFirst : 替换正则匹配的第一部分getReplaceAll : 替换所有正则匹配的部分
具体路线
import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import static com.blankj.utilcode.utils.ConstUtils.*;/** *
* author: Blankj * blog : http://blankj.com * time : 2016/8/2 * desc : 正则相关工具类 *
*/public class RegexUtils { private RegexUtils() { throw new UnsupportedOperationException("u can't instantiate me..."); } /** * If u want more please visit http://toutiao.com/i6231678548520731137/ */ /** * 验证手机号(简单) * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isMobileSimple(CharSequence input) { return isMatch(REGEX_MOBILE_SIMPLE, input); } /** * 验证手机号(精确) * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isMobileExact(CharSequence input) { return isMatch(REGEX_MOBILE_EXACT, input); } /** * 验证电话号码 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isTel(CharSequence input) { return isMatch(REGEX_TEL, input); } /** * 验证身份证号码15位 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isIDCard15(CharSequence input) { return isMatch(REGEX_ID_CARD15, input); } /** * 验证身份证号码18位 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isIDCard18(CharSequence input) { return isMatch(REGEX_ID_CARD18, input); } /** * 验证邮箱 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isEmail(CharSequence input) { return isMatch(REGEX_EMAIL, input); } /** * 验证URL * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isURL(CharSequence input) { return isMatch(REGEX_URL, input); } /** * 验证汉字 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isZh(CharSequence input) { return isMatch(REGEX_ZH, input); } /** * 验证用户名 *
取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾,用户名必须是6-20位* * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isUsername(CharSequence input) { return isMatch(REGEX_USERNAME, input); } /** * 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isDate(CharSequence input) { return isMatch(REGEX_DATE, input); } /** * 验证IP地址 * * @param input 待验证文本 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isIP(CharSequence input) { return isMatch(REGEX_IP, input); } /** * 判断是否匹配正则 * * @param regex 正则表达式 * @param input 要匹配的字符串 * @return {@code true}: 匹配
{@code false}: 不匹配 */ public static boolean isMatch(String regex, CharSequence input) { return input != null && input.length() > 0 && Pattern.matches(regex, input); } /** * 获取正则匹配的部分 * * @param regex 正则表达式 * @param input 要匹配的字符串 * @return 正则匹配的部分 */ public static ListgetMatches(String regex, CharSequence input) { if (input == null) return null; Listmatches = new ArrayList<>(); Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(input); while (matcher.find()) { matches.add(matcher.group()); } return matches; } /** * 获取正则匹配分组 * * @param input 要分组的字符串 * @param regex 正则表达式 * @return 正则匹配分组 */ public static String[] getSplits(String input, String regex) { if (input == null) return null; return input.split(regex); } /** * 替换正则匹配的第一部分 * * @param input 要替换的字符串 * @param regex 正则表达式 * @param replacement 代替者 * @return 替换正则匹配的第一部分 */ public static String getReplaceFirst(String input, String regex, String replacement) { if (input == null) return null; return Pattern.compile(regex).matcher(input).replaceFirst(replacement); } /** * 替换所有正则匹配的部分 * * @param input 要替换的字符串 * @param regex 正则表达式 * @param replacement 代替者 * @return 替换所有正则匹配的部分 */ public static String getReplaceAll(String input, String regex, String replacement) { if (input == null) return null; return Pattern.compile(regex).matcher(input).replaceAll(replacement); }}
终点站
相信乘客们都没有见到相应的正则表达式,因为我做了
import static com.blankj.utilcode.utils.ConstUtils.*;,相关常量都在这个常量工具类里,下面贴出相关代码。
/******************** 正则相关常量 ********************//** * 正则:手机号(简单) */public static final String REGEX_MOBILE_SIMPLE = "^[1]\\d{10}$";/** * 正则:手机号(精确) *移动:134(0-8)、135、136、137、138、139、147、150、151、152、157、158、159、178、182、183、184、187、188*联通:130、131、132、145、155、156、175、176、185、186*电信:133、153、173、177、180、181、189*全球星:1349*虚拟运营商:170*/public static final String REGEX_MOBILE_EXACT = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|(147))\\d{8}$";/** * 正则:电话号码 */public static final String REGEX_TEL = "^0\\d{2,3}[- ]?\\d{7,8}";/** * 正则:身份证号码15位 */public static final String REGEX_ID_CARD15 = "^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$";/** * 正则:身份证号码18位 */public static final String REGEX_ID_CARD18 = "^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9Xx])$";/** * 正则:邮箱 */public static final String REGEX_EMAIL = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";/** * 正则:URL */public static final String REGEX_URL = "[a-zA-z]+://[^\\s]*";/** * 正则:汉字 */public static final String REGEX_ZH = "^[\\u4e00-\\u9fa5]+$";/** * 正则:用户名,取值范围为a-z,A-Z,0-9,"_",汉字,不能以"_"结尾,用户名必须是6-20位 */public static final String REGEX_USERNAME = "^[\\w\\u4e00-\\u9fa5]{6,20}(?
到此,相信大家对"RegexUtils怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
验证
正则
文本
号码
手机
手机号
表达式
身份
身份证
部分
字符
字符串
用户
用户名
汉字
分组
精确
常量
电话
电话号码
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全等级保护备案手续
《网络安全法》指导思想
上虞财务软件开发公司价格
2021网络安全绘画宣传
直接使用wps创建数据库
工业自动化软件开发
我的小游戏服务器地址
pr数据库损坏怎么办
5g网络和4g网络技术对比
兰州网站速排名软件开发
系统管理软件开发
数据库审计系统市场
计算机网络安全 有感
服务器2个网卡
江苏特色软件开发成本价
数据库课程设计社区管理
从技术的角度浅谈数据库
数据库型业务
dell服务器 红灯
潍坊智慧党建软件开发哪儿好
法兰克福服务器互相代码
数据库的列称为字段
北京现代化软件开发概念
贵阳计算机软件开发有限公司
敏哥化身女神玩服务器
做软件开发需要什么
网络安全ppt.
聘书字体软件开发
宿城区多功能网络技术是什么
事业单位的网络安全题