layui校验字符串是否为JSON格式
代码速递
在表单元素上加上 lay-verify="" 属性值,例如:
<input type="text" lay-verify="required|jsonSyntax">
扩展表单自定义验证规则 jsonSyntax:
form.verify({
jsonSyntax: function (str) {
if (typeof str == 'string') {
try {
var obj = JSON.parse(str);
if (typeof obj === 'object' && obj) {
return false;
} else if (str === '""') {// ""
return '请输入非空字符串!';
}
} catch (e) {
var group = (''+e).match(/SyntaxError: Unexpected token (.+) in JSON at position ([0-9]+)/i);
if (group && group[1] && group[2]) {
return 'JSON语法错误:JSON字符串位置' + group[2] + '出现意外的字符' + group[1];
} else if ((''+e) === 'SyntaxError: Unexpected end of JSON input') {
if (!str.startsWith('"')) {
return 'JSON语法错误:没有以}或者]结尾';
}
}
}
}
return 'JSON语法错误,请检查!';
}
});
因为通常捕获到的异常打印出来的结果是
SyntaxError: Unexpected token d in JSON at position 0
我这里把它用正则表达式提取出了 出错位置 和 出错字符 信息,并改为中文。
layui 表单自定义验证:https://www.layui.site/doc/modules/form.html#verify
js判断字符串是否为JSON格式【最简单的方法】
示例:js使用正则表达式group来提取字符串中的数据
分类:
前端技术
标签:
JavaScript
, layui
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)