js前台传数组,java后台接收转list,前后台用正则校验

摘要:
前景js:varparams={“FileNameList”:JSON.stringify};前景定期验证:varreg=/^[u4e00-u9fa5A-Za-z0-9-]{1,50}。txt$///包括中文、大写字母和小写字母数字if(!“);return;}背景java:importnet.sf.json.JSONArray;importnet.sf.json.SJSONObject;//获取参数列表fileNameList=JSONArray.fromObjectification://Background验证格式Stringpattern=“^[u4e00--u9fa5 w-]{1,50}.txt$”;对于{boolean match=Pattern.matches;如果(!IsMatch){reMap.put(“msg”,name+“format错误,请删除并重新输入!”);重新映射。put;//业务逻辑异常//返回前台returnFront;返回;}}

前台,传参数时,将数组对象转换成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;
}
}

免责声明:文章转载自《js前台传数组,java后台接收转list,前后台用正则校验》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Maven构建的Springboot父子工程的项目打包部署第1阶段——uboot分析之启动函数bootm命令 (9)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

js的窗口坐标及拖拽

一、事件对象的坐标属性1、事件对象.offsetX 对象事件.offsetY 点击时,获取的是标签左上角的坐标2、事件对象.clientX 事件对象.clientY 点击时,视窗左上角坐标3、事件对象.pageX 事件对象.pageY 点击时,页面左上角坐标 如果没有滚动,页面左上角和视窗的左上角重合,两个数值是不同的 var oDiv = documen...

js 接口并发问题

最近听到一个词叫"并发",其实在工作中很多这种处理的场景只是没有并发这种概念,今天总结一下 。 假设场景: 一个普通查询页面,需要刚进页面就同时调用4个接口,只有全部接口都调用完成才能让用户操作这时候怎么办? 首先 es6 可以使用 Promise.all() var a = new Promise((resolve,reject)=>{setTim...

ES6新特性:使用export和import实现模块化

  在ES6前, 前端就使用RequireJS或者seaJS实现模块化, requireJS是基于AMD规范的模块化库,  而像seaJS是基于CMD规范的模块化库,  两者都是为了为了推广前端模块化的工具, 更多有关AMD和CMD的区别, 后面参考给了几个链接;    现在ES6自带了模块化, 也是JS第一次支持module, 在很久以后 ,我们可以直接...

C#中,双屏/两屏/三屏/多屏跳转判断

之前伤脑筋写过一次在Web中,JS,ActiveXObject去读取显示器数量、分辨率去判断单双屏跳转。 那么在客户端中,用C#去读取硬件信息,更方便更容易! 思路参考代码: if (Screen.AllScreens.Length == 2) { //此显示器是否为主屏 if (Screen.AllScreens[0].Primar...

JS学习笔记(一)JS处理JSON数据

【摘抄】将JSON字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如:JSON字符串: var str1 = '{ "name": "cxh", "sex": "man" }'; JSON对象: var str2 = { "na...

前后端项目对接流程梳理

  课程目标 掌握一个电商网站从设计到上线的整个过程所涉及的流程 具备独立开发一个前端项目的能力 架构设计 前后端完全分离 分层架构 模块化 技术选型 HTMl CSS JS jQery 辅助工具 Webpack NodeJs NPM Shell 效率工具 Sublime Chrome Charles Git 课程安排 //基础框架的搭建 双平台的...