后台数据校验
来源:互联网 发布:知乎 金庸 古龙 编辑:程序博客网 时间:2024/06/05 14:46
package validate;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.lang3.StringUtils;
/**
* @author lkw
* @time 2015年11月30日
* @email lukw@eastcom-sw.com
*/
public class validateExcel {
public static String validateExcelFormat(String value ,Map<String,Object> rules,String type){ StringBuffer message = new StringBuffer(); String validate = isRequired(value,rules); getMessage(message, validate); if(StringUtils.isNotBlank(validate)) return message.toString(); if("TEXTFIELD".equals(type)){ validate = validateTextField(value,rules); getMessage(message, validate); }else if("TEXTAREA".equals(type)){ validate = validateTextArea(value,rules); getMessage(message, validate); }else if("DATETIME".equals(type)){ validate = validateDateTime(value); getMessage(message, validate); }else if("INTEGERFIELD".equals(type)){ validate = validateInteger(value); getMessage(message, validate); }else if("DOUBLEFIELD".equals(type)){ validate = validateDouble(value); getMessage(message, validate); }else if("PHONEFIELD".equals(type)){ validate = validatePhoneNo(value); getMessage(message, validate); }else if("EMAILFIELD".equals(type)){ validate = validateEmail(value); getMessage(message, validate); }else if("IP".equals(type)){ validate = validateIP(value); getMessage(message, validate); } return message.toString();}private static String validateTextArea(String value,Map<String,Object> rules){ return null;}private static String validateTextField(String value,Map<String,Object> map){ StringBuffer message = new StringBuffer(); String validate = null; Object length = map.get("minLength"); if(length != null){ int minLength = Integer.valueOf(String.valueOf(map.get("minLength"))); validate = minLenght(value, minLength); getMessage(message, validate); } length = map.get("maxLength"); if(length != null){ int minLength = Integer.valueOf(String.valueOf(map.get("minLength"))); validate = maxLength(value, minLength); getMessage(message, validate); } return message.toString();}private static String validateDateTime(String value) { // 指定日期格式为四位年/两位月份/两位日期,注意yyyy/MM/dd区分大小写; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); // 设置lenient为false.否则SimpleDateFormat会比较宽松地验证日期,比如2007/02/29会被接受,并转换成2007/03/01 dateFormat.setLenient(false); boolean flag = true; try { dateFormat.parse(value); } catch (Exception e) { flag = false; } if(!flag) return "请输入正确的日期"; return null;}private static String validateInteger(String value) { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); if(!pattern.matcher(value).matches()) return "请输入正确的整数"; return null;
// Pattern pattern = Pattern.compile(“[0-9]*”);
// return pattern.matcher(str).matches();
}
private static String validateDouble(String value) { boolean flag = true; try { Double.parseDouble(value); } catch (NumberFormatException ex) { flag = false; } if(!flag) return "请输入正确的数字"; return null;}private static String maxLength(String value ,int length){ if(StringUtils.isNotBlank(value)&&value.length()>length) return "超过最大长度"; return null;}private static String minLenght(String value ,int length){ if(StringUtils.isNotBlank(value)&&value.length()<length) return "最小长度为" + length; return null;}private static String validatePhoneNo(String value) { String check = "^(13[4,5,6,7,8,9]|15[0,8,9,1,7]|188|187)\\d{8}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(value); if(!matcher.matches()) return "请输入正确的手机号码 !! "; return null;}private static String validateEmail(String value) { String check = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$"; Pattern regex = Pattern.compile(check); Matcher matcher = regex.matcher(value); if(!matcher.matches()) return "请输入正确的邮箱!! "; return null;}private static String isRequired(String value,Map<String,Object> rules){ Boolean flag = (Boolean)rules.get("isNull"); if(flag && StringUtils.isBlank(value)) return "为必填项"; else return null;}private static String validateIP(String value){ String ip ="\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\b"; Pattern pattern = Pattern.compile(ip); Matcher matcher = pattern.matcher(value); if(!matcher.matches()) return "请输入正确的ip地址"; return null;}private static void getMessage(StringBuffer message, String validate) { if(StringUtils.isNotBlank(validate)) message.append(validate);}public static void main(String[] args) { Map<String,Object> rules = new HashMap<String, Object>(); rules.put("minLength", 5); rules.put("maxLength", 10); rules.put("isNull", false); String type = "IP"; String value ="192.168.1.1333"; String message = validateExcelFormat(value, rules, type); System.out.println("message = "+message);}
}
0 0
- 后台数据校验
- 后台数据校验hibernate-validator
- QTP校验数据库中数据后台项目
- 4.用户模块:后台数据校验
- Ajax后台数据校验简单Demo
- Ajax---后台校验用户输入的数据
- .net 后台数据校验,电话号码,邮箱地址,IP有效性
- 用户注册:后台数据校验:使用xml进行校验(Struts2)
- struts后台校验
- 后台密码校验
- Struts2--5.后台校验
- SpringMvc后台校验实现
- springMVC后台校验实现
- 发票校验后台表
- 数据校验
- 数据校验
- 数据校验
- 数据校验
- Android ListView+RadioButton实现单选的方法
- 【Android实测】使用代码调起指定浏览器访问指定页面
- nc WebService 接口开发思路
- 聊天室的实现(消息实时刷新)
- Java套接字编程
- 后台数据校验
- Mac OS X的Getattrlist系列函数
- 关于 hasLayout-CSS属性
- 自动升级系统的设计与实现(续2) -- 增加断点续传功能 (附最新源码)
- UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128)
- Android之JAVASe基础篇-面向对象(二)
- maven 添加本地jar
- XML解析一 使用SAX解析XML
- poj2140-Herd Sums