RegexUtils怎么使用
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,本篇内容主要讲解"RegexUtils怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"RegexUtils怎么使用"吧!站点正则相关→RegexUt
千家信息网最后更新 2024年11月18日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安全错误
数据库的锁怎样保障安全
菏泽软件开发哪家靠谱
服务器火炬之光
全民奇迹8.3跨服服务器设置
代理服务器软件 win
数据库软件开发成本
软件开发 sm
南通常用网络技术服务
db2查看数据库锁信息
咸鱼之王微信服务器
mc服务器管理
组织收看网络安全培训班
网络营销是单纯的网络技术吗
数据库设计节目表
高德地图服务器图标说明表
全国网络安全技术与应用
网络安全守护员
武汉国家网络安全国际人才社区
计算机用的数据库怎么查看
泸州美容行业直销软件开发
网络安全防护管理措施
ibm服务器 系统
全国网络安全公司分布
常见的网络安全威胁防范
服务器搭建与管理课程设计
2002年腾讯多少台服务器
咸鱼之王服务器炸了
江西第七届网络安全宣传
长沙天秤天下网络技术公司
网络安全专业需要学习什么
京东智慧供应链软件开发