javascript - JS查询一组10位数字的前8位或者前6位是否匹配
本文介绍了javascript - JS查询一组10位数字的前8位或者前6位是否匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想实现一个功能,就是当用户在input
输入10位数字后点击查询按钮
后,去匹配json
数据中的预输入值,并根据不同的信息反馈不同的查询结果。
然而json
的预输入值只有8位或者6位(相对应10位数字的前8位或者前6位,匹配优先级是先8位后6位)。请教这个查询判断应该如何去做?谢谢!
json
格式:
{"id":"123456","info":"这是普通用户"},
{"id":"87654321","info":"这是高级用户"}
{"id":"876543","info":"这是尊享用户"}
例如用户输入的是1234567890
,json
数据中的预输入值有123456
,则匹配这个预输入值的信息,如果用户输入的是0987654321
,json
数据中的预输入值有098765
和09876543
两个时,则匹配09876543
的预输入值的信息。
PS:
自己钻进了模糊查询的死胡同,有点绕不出来。。。
解决方案
var jsons = [
{"id":"123456","info":"这是普通用户"},
{"id":"876543","info":"这是尊享用户"},
{"id":"87654321","info":"这是高级用户"},
{"id":"87654311","info":"这是尊享用户"},
]
function f(jsons,num) {
var num8 = num.substr(0,8);
var num6 = num.substr(0,6);
var result6 = '';
var result8 = '';
for(var i = 0,len = jsons.length; i < len;i++) {
var id = jsons[i].id;
if(id == num8) {
result8 = jsons[i];
break;
}
if(id == num6) {
result6 = jsons[i];
}
}
return result8 ? result8 : result6;
}
这篇关于javascript - JS查询一组10位数字的前8位或者前6位是否匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文