js前台传数组,java后台接收转list,前后台用正则校验
前台,传参数时,将数组对象转换成json串,后台java收到后用 JSONArray.fromObject 转成集合。
前台js:
var params = {"FileNameList": JSON.stringify(fileNames)};
前台正则校验:
var reg = /^[\u4e00-\u9fa5A-Za-z0-9\-]{1,50}.txt$/; //包含中文、字母大小写、数字
if (!reg.test(name)) {
layer.alert(name+" 格式错误,请重新输入!");
return;
}
后台java:
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
//获取参数
List<String> fileNameList = JSONArray.fromObject(requestMap.get("FileNameList"));
//用正则校验:
//后台校验格式
String pattern = "^[\\u4e00-\\u9fa5\\w\\-]{1,50}.txt$";
for (String name : fileNameList) {
boolean isMatch = Pattern.matches(pattern, name);
if (!isMatch) {
reMap.put("msg", name+" 格式错误,请移除后重新输入!");
reMap.put("code", "3");//业务逻辑异常
//返回前台
returnFront(response, reMap);
return;
}
}