• java web项目中后台控制层对参数进行自定义验证 类 Pattern


    Pattern pattern = Pattern.compile("/^([1-9]d+元*|[0]{0,1})$/");//将给定的正则表达式编译到模式中
      if(!"".equals(mmshop.getOriginalPrice().trim())){          
        if(!pattern.matcher(mmshop.getOriginalPrice().trim()).matches()){ map.put("msg","请输入数字或xxx元,并确保格式正确"); map.put("code","500"); eturn map;   }   }

    1.将给定的正则表达式编译到模式中

    Pattern pattern = Pattern.compile("/^([1-9]d+元*|[0]{0,1})$/");//将给定的正则表达式编译到模式中

    2.增加去除参数的前后空白条件判断

    if(!"".equals(mmshop.getOriginalPrice().trim())){ 
      .......  
    }

    3.a.创建匹配给定输入与此模式的匹配器 b.编译给定正则表达式并尝试将给定输入与其匹配

    if(!pattern.matcher(mmshop.getOriginalPrice().trim()).matches()){
       map.put("msg","请输入数字或xxx元,并确保格式正确");
       map.put("code","500");
       return map;
    }

    4.推荐:快捷方式 编译给定正则表达式并尝试将给定输入与其匹配

    /*
    参数:
    regex - 要编译的表达式
    input - 要匹配的字符序列 
    */
    Pattern.compile(regex).matcher(input).matches() 

    例如:

         /*
                           说明:编译给定正则表达式并尝试将给定输入与其匹配 对参数进行自定义验证
                           正则表达式:/^([1-9]d+元*|[0]{0,1})$/  前两位必须为正整数后台可以跟也可不跟一个 "元" 字
                         */
    //字符串带元字非负数判断
    int originalPrice= Integer.parseInt(mmshop.getOriginalPrice().trim().replace("元",""));
                        if(originalPrice<0){
                            map.put("msg","请输入正整数元,并确保格式正确");
                            map.put("code","500");
                            return map;
                        }
                    if(!Pattern.compile(StringEscapeUtils.unescapeHtml4("^[-\+]?[\d]*$")).matcher(mmshop.getOriginalPrice().trim().replace("元","")).matches()){
                        map.put("msg","请输入数字或xxx元,并确保格式正确");
                        map.put("code","500");
                        return map;
                    }

    注意:

     1. "^[-\+]?[\d]*$" 判断是否为整数  包括负数

     2.StringEscapeUtils.unescapeHtml4(xxx)//反转义

  • 相关阅读:
    pickle示例
    Python 升级致yum 问题,pip 异常
    jdk 环境
    zookeeper
    Kafka-Monitor
    Kafka
    nxlog 日志采集
    elasticsearch 基本配置
    elasticsearch 单机多实例
    Elaticsearch 集群
  • 原文地址:https://www.cnblogs.com/awzf/p/9792101.html
Copyright © 2020-2023  润新知