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;
                }
            }

原文地址:https://www.cnblogs.com/libin6505/p/11076811.html