javascript – JS-Abfrage, ob die ersten 8 oder die ersten 6 Ziffern eines Satzes von 10 Ziffern übereinstimmen
phpcn_u1582
phpcn_u1582 2017-05-19 10:45:33
0
3
554

Ich möchte eine Funktion implementieren, bei der der Benutzer einen Wert vorab in die input输入10位数字后点击查询按钮后,去匹配jsonDaten eingibt und unterschiedliche Abfrageergebnisse basierend auf unterschiedlichen Informationen zurückmeldet.

Der Input-Ahead-Wert von json beträgt jedoch nur 8 oder 6 Ziffern (entsprechend den ersten 8 oder ersten 6 Ziffern einer 10-stelligen Zahl, die Übereinstimmungspriorität beträgt 8 Ziffern zuerst und 6 Ziffern später). Bitte sagen Sie mir, wie ich diese Anfrage beurteilen soll. Danke!

jsonFormat:

{"id":"123456","info":"这是普通用户"},
{"id":"87654321","info":"这是高级用户"}
{"id":"876543","info":"这是尊享用户"}

Zum Beispiel ist die Benutzereingabe 12345678901234567890json数据中的预输入值有123456,则匹配这个预输入值的信息,如果用户输入的是0987654321json数据中的预输入值有09876509876543两个时,则匹配09876543 und der Voreingabewert in den Daten ist

123456

, dann die Informationen, die dieser Voreingabe entsprechen Wert, wenn die Benutzereingabe PS:0987654321

ist, 🎜Wenn die Voreingabewerte in den Daten 🎜098765🎜 und 🎜09876543🎜, es stimmt mit 🎜Informationen über den vorab eingegebenen Wert von 09876543🎜 überein. 🎜 🎜🎜Ich bin in eine Sackgasse der Fuzzy-Abfrage geraten und komme da nicht raus. . . 🎜
phpcn_u1582
phpcn_u1582

Antworte allen(3)
为情所困
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; 
    }
刘奇
var json = [{'id': '123456','info': '这是普通用户'},
  {'id': '87654321','info': '这是高级用户'},
  { 'id': '876543', 'info': '这是尊享用户' }]

var value = '8765432151'
function slice (value, wei) {
  var temp = [].slice.call(value, 0, wei)
  temp = temp.join('')
  return temp
}

function match (userid, data) {
  var id6 = slice(userid, 6)
  var id8 = slice(userid, 8)
  for (var i = 0; i < json.length; i++) {
      // console.log(json[i])    
      console.log(slice(json[i].id, 8),id8)
    if (slice(json[i].id, 8) == id8||slice(json[i].id, 6) == id6) {
      var info = json[i].info
      info = slice(json[i].id, 6) === id6 ? json[i].info : info
      return info;
    }
  }
  
}

console.log(match(value, json))

很坑爹.要遍历所有数据,这种事还是让后台做吧.

过去多啦不再A梦
先处理一下json
var jsonObj={};
json.forEach((x)=>{jsonObj[x.id]=x});
function checkFn(val){
     var val8=val.slice(0,8);
        var val6=val.slice(0,6)
        if(jsonObj[val8]){
           //匹配到8位
        }else if(jsonObj[val6]){
            //匹配到6位)
        }else{
            //无匹配
        }
}
   
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!