Java参数校验工具(多种)

package com.sample.pass.gmine.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ParameterUtil {

    /**
     * 判断集合是否为空
     *
     * @param collection 集合
     * @return true 为空 false 不为空
     */
    public static boolean isEmpty(Collection<?> collection) {
        return collection == null || collection.isEmpty();
    }


    /**
     * 判断Map是否为空
     *
     * @param map map
     * @return true 为空 false 不为空
     */
    public static boolean isEmpty(Map<?, ?> map) {
        return map == null || map.isEmpty();
    }

    /**
     * 判断数组是否为空
     *
     * @param array 数组
     * @return true 为空 false 不为空
     */
    public static boolean isEmpty(Object[] array) {
        return array == null || array.length == 0;
    }


    /**
     * 判断List是否为空
     *
     * @param list List
     * @return true 为空 false 不为空
     */
    public static boolean isEmpty(List<Object> list) {
        return list == null || list.size() == 0;
    }

    /**
     * 判断字符串是否为空
     *
     * @param str 字符串
     * @return true 为空 false 不为空
     */
    public static boolean isEmpty(String str) {
        if ("".equals(str) || str == null) {
            return true;
        } else {
            return false;
        }
    }

    //不为空

    /**
     * 判断字符串是否不为空
     *
     * @param str 字符串
     * @return true 不为空 false 为空
     */
    public static boolean isNotEmpty(String str) {
        return !isEmpty(str);
    }

    /**
     * 判断字符串是否殊字符
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isSpecial(String str) {
        if (str != null && !"".equals(str)) {//""
            String regEx = "[&\\\\/*<>@!]";
            Pattern p = Pattern.compile(regEx);
            Matcher m = p.matcher(str);
            //如果含有就返回true
            return m.find();
        } else {
            return false;
        }
    }

    /**
     * 字符串数字和- 判断
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isNumberAnd(String str) {
        if (str != null && !"".equals(str)) {
            Pattern pattern = Pattern.compile("[0-9,-]+");
            Matcher isNum = pattern.matcher(str);
            return !isNum.matches();
        } else {
            return false;
        }
    }

    /**
     * 字符串仅支持纯数字
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isOnlyNumber(String str) {
        if (str != null && !"".equals(str)) {
            Pattern pattern = Pattern.compile("[0-9,.]+");
            Matcher isNum = pattern.matcher(str);
            return !isNum.matches();
        } else {
            return false;
        }
    }

    /**
     * 字符串是否超过最大长度
     *
     * @param str 字符串
     * @param max 最大长度
     * @return true 是 false 否
     */
    public static boolean maxLength(String str, Integer max) {
        if (str != null && !"".equals(str)) {
            return (str.length() > max);
        } else {
            return false;
        }
    }

    /**
     * 字符串是否低于最小长度
     *
     * @param str 字符串
     * @param min 最小长度
     * @return true 是 false 否
     */
    public static boolean minLength(String str, Integer min) {
        if (str != null && !"".equals(str)) {
            return (str.length() < min);
        } else {
            return false;
        }
    }


    /**
     * 字符串判断为数字或字母
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isNumOrEng(String str) {
        if (str != null && !"".equals(str)) {
            String regex = "[a-z0-9A-Z]+";
            return !str.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 字符串判断为字母
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isEng(String str) {
        if (str != null && !"".equals(str)) {
            String regex = "[a-zA-Z]+";
            return !str.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 字符串判断是否为邮箱
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isEmail(String str) {
        if (str != null && !"".equals(str)) {
            String regex = "\\w+@\\w+(\\.[a-zA-Z]+)+";
            return !str.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 判断是否有空格
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isBlank(String str) {
        if (str != null && !"".equals(str)) {
            return (str.lastIndexOf(" ") != -1);
        } else {
            return false;
        }
    }

    /**
     * 判断是否有汉字
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isCharacter(String str) {
        if (str != null && !"".equals(str)) {
            String regex = "[\\u4e00-\\u9fa5]+";
            return str.matches(regex);
        } else {
            return false;
        }
    }

    /**
     * 判断日期格式
     *
     * @param str 字符串
     * @return true 是 false 否
     */
    public static boolean isValidDate(String str) {
        boolean convertSuccess = true;
        SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd");
        try {
            format.setLenient(false);
            format.parse(str);
        } catch (ParseException e) {
            convertSuccess = false;
        }
        return convertSuccess;
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
# demoWeb 一个基于SpringMVC的web框架 1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本管理,服务根路径工具类,文件上传工具类 1.0.10 集成ueditor在线编辑器 1.0.11 地址联动 1.0.12 Excel工具类 Word工具Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 zookeeper工具类优化 增加工具类 1.0.16 页面html标志修改 httpclient中文支持 工具类增强(zip,reflect,thread) 1.0.17 ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 首页修改 dateformat.js 时间参数转换 SpringMVC配置文件集中 快递参数接口 1.1.4 des加解密字符串和文件 1.1.5 redis 加锁,redis升级成2.8.2 freemarker工具类 1.1.6 spring websocket 实现在线聊天 maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 1.1.10 rabbitMQ集成 视频截图 图片缩略图旋转 集成Mybatis 使用数据库连接池druid dubbo使用 1.1.11 集成Spring Cache,FastJson Spring Cache增加redis缓存实现 Mybatis使用二级缓存,增加redis实现 增加reactJs 增加Mybatis插件pageHelper,Mapper 1.1.12 使用draft富文本编辑器 增加ant design 代码生成器功能增强
这个框架是在学习Spring的时候,为了积累学习成果,自己搭建的,一般的系统开发也可以直接使用,包括一个系统开发的基础功能。 以下是当时自己开发时的日志,大致可以说明框架里已有功能 1.0.5 从web项目迁移成maven项目 1.0.6 增加菜单框架ext实现,类路径调整 1.0.7 增加http工具类,demo例子 1.0.8 socket工具类,权限组件,菜单组件,jdbc分页支持多种数据库,ant路径工具类,增加jquery easyUI 1.0.9 版本管理,服务根路径工具类,文件上传工具类 1.0.10 集成ueditor在线编辑器 1.0.11 地址联动 1.0.12 Excel工具类 Word工具Java NIO实现socket工具类 分布式session jdk升级到1.7 嵌入式redis服务(只支持linux) 1.0.13 修改默认的beanName生成策略,controller参数扩展 1.0.14 分布式session使用zookeeper 1.0.15 zookeeper工具类优化 增加工具类 1.0.16 页面html标志修改 httpclient中文支持 工具类增强(zip,reflect,thread) 1.0.17 ftp服务端和客户端工具类,配置文件maven和web项目路径统一 1.1.0 soapui工具类(web版本) properties等工具类 1.1.1 工具类数据校验 jsp自定义标签 Spring自定义注解 默认requestMapping 1.1.2 代码生成器 1.1.3 首页修改 dateformat.js 时间参数转换 SpringMVC配置文件集中 快递参数接口 1.1.4 des加解密字符串和文件 1.1.5 redis 加锁,redis升级成2.8.2 freemarker工具类 1.1.6 spring websocket 实现在线聊天 maven升级jdk1.8 jetty9.2.4 web升级jdk1.7 tomcat7 1.1.7(maven only) 包名修改 从此不再支持web版本,只支持maven版本 1.1.8 jquery 图片预览插件 图片滚动显示插件 1.1.9 jquery实现鼠标在按钮上显示窗口,离开窗口和按钮时消失 导入Eclipse中 直接执行Jetty类的main方法就可以启动服务
### 回答1: 在Java后端校验日期格式是否为小时和分钟的方法有多种。以下是其中两种常见的校验方法: 1. 使用正则表达式校验:可以使用正则表达式来匹配符合小时和分钟格式的日期。例如,可以使用以下正则表达式进行校验: ```java String regex = "^\\d{2}:\\d{2}$"; // 校验格式是否为hh:mm,其中\\d表示数字,{2}表示重复2次 String date = "12:34"; // 待校验的日期 boolean isValid = date.matches(regex); // 使用matches方法进行正则校验 if (isValid) { // 日期格式正确 } else { // 日期格式错误 } ``` 2. 使用Java日期处理工具校验:可以使用Java提供的日期处理工具类来解析日期字符串,并捕获解析异常来判断日期格式是否正确。例如,可以使用以下代码进行校验: ```java import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; String format = "HH:mm"; // 指定日期格式为小时和分钟 String date = "12:34"; // 待校验的日期 boolean isValid = true; DateFormat df = new SimpleDateFormat(format); df.setLenient(false); // 设置解析非严格模式,不允许出现不合法的日期 try { df.parse(date); // 解析日期字符串 } catch (ParseException e) { isValid = false; // 解析异常,日期格式错误 } if (isValid) { // 日期格式正确 } else { // 日期格式错误 } ``` 以上两种方法都可以校验日期格式是否为小时和分钟,具体选择哪种方式根据个人偏好和具体场景需求来决定。 ### 回答2: 在Java后端中,可以使用正则表达式来校验日期格式是否为小时和分钟。 以下是一种方法: 1. 使用`java.util.regex.Pattern`类创建一个正则表达式模式,用于匹配小时和分钟的格式,例如:`String pattern = "\\d{2}:\\d{2}";`。 2. 使用`java.util.regex.Matcher`类将日期字符串与正则表达式模式进行匹配。 ```java String dateString = "12:30"; // 创建正则表达式模式 String pattern = "\\d{2}:\\d{2}"; // 将日期字符串与正则表达式模式进行匹配 Pattern regexPattern = Pattern.compile(pattern); Matcher matcher = regexPattern.matcher(dateString); // 判断是否匹配成功 if (matcher.matches()) { System.out.println("日期格式是小时和分钟的"); } else { System.out.println("日期格式不是小时和分钟的"); } ``` 以上代码中,我们首先创建了一个正则表达式模式,用于匹配两位数字的小时和分钟。然后,我们使用`Pattern`类的`compile`方法将该模式编译为一个正则表达式对象。接下来,我们使用`Matcher`类的`matches`方法将日期字符串与正则表达式进行匹配,并判断是否匹配成功。如果匹配成功,则日期格式为小时和分钟。如果匹配不成功,则日期格式不为小时和分钟。 注意:上述代码只能判断日期格式是否为小时和分钟的格式,不能验证具体的时间值是否合法。如果要同时验证时间值的合法性,可以在匹配成功后,使用`SimpleDateFormat`类将日期字符串解析为`java.util.Date`对象,并进行进一步的验证。 ### 回答3: 在Java后端中,可以使用正则表达式来校验日期格式是否是小时和分钟。 正则表达式是一种用于匹配字符串的模式,可以用于判断字符串是否符合特定的格式要求。对于校验日期格式是小时和分钟,可以使用如下的正则表达式: String pattern = "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"; 以上的正则表达式的含义是:以1或2开头的两位数字,或者以0开头的1位数字,后面跟着一个冒号,再跟着两个0-5之间的任意数字,整个字符串的长度为5。 通过Pattern和Matcher类可以将正则表达式应用于具体的字符串校验中,具体代码如下: import java.util.regex.Matcher; import java.util.regex.Pattern; public class DateValidation { public static boolean validate(String date) { String pattern = "^([01]?[0-9]|2[0-3]):[0-5][0-9]$"; Pattern regex = Pattern.compile(pattern); Matcher matcher = regex.matcher(date); return matcher.matches(); } public static void main(String[] args) { String date1 = "12:34"; // 符合格式要求 String date2 = "25:00"; // 不符合格式要求 System.out.println(validate(date1)); // 输出:true System.out.println(validate(date2)); // 输出:false } } 以上代码中,validate方法接受一个字符串参数date,通过Pattern和Matcher进行正则表达式的匹配,最终返回匹配结果matches()。 在main方法中,我们分别传入符合和不符合格式要求的日期进行校验,输出结果可以帮助我们判断日期格式是否为小时和分钟。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值