首页 > 解决方案 > 如何在数字输入字段中添加逗号以获取多个重新编码

问题描述

我有一个 if 语句需要满足两个参数条件。然后它应该执行,但在文本字段中我只能输入一个表格编号,而另一个不能。

这是我的js

我的功能正在运行,但这里的文本字段是我的问题


  function analyedata() {
$('#norecordalert').addClass('hidden');
$('#connection-error').addClass('hidden');
$('#apperror-id').addClass('hidden');

var nin = $("#data").val();
if (nin == "0015") {

    $('#apperror-id').addClass('hidden');
    $('#detailsDiv').removeClass('hidden');
    $('#data1').removeClass('hidden');
}
else if ((nin =="0017")&&(nin =="0019")) {


    $('#apperror-id').addClass('hidden');
    $('#detailsDiv').removeClass('hidden');
    $('#data1').removeClass('hidden');
    $('#data2').removeClass('hidden');
}
else if ((nin =="0012")&&(nin=="0013")&&(nin=="0011")) {

    $('#apperror-id').addClass('hidden');
    $('#detailsDiv').removeClass('hidden');
    $('#data1').removeClass('hidden');
    $('#data2').removeClass('hidden');
    $('#data3').removeClass('hidden');

}
else {
    $('#loadingid').addClass('hidden');
    $('#containerDiv').css('display', 'none');
    swal("Oops!", "Recorde Not Found!!", "error")
        .then(() => {
            $('#containerDiv').css('display', 'block');
        });

};

我希望它显示不止一个重新编码

标签: javascriptjqueryhtml

解决方案


根据一些评论,我怀疑您正在使用以下内容:

001100120013001500170019

如果是这种情况,并且字符串始终是您要查找的 4 位数字,那么您有多种选择。基本上,您将把这个字符串分成几部分。您可以弹出前 4 个并重复或使用正则表达式查找特定模式。

$(function() {
  function chunkFour(s, p, d) {
    var results = [];
    var i = 0;
    while (i < s.length) {
      results.push(s.slice(i, i + p));
      i += p;
    }
    return results.join(d);
  }

  function regFour(s, p, d) {
    var regex = new RegExp("(\\d{" + p + "})", "g");
    var match = [];
    while ((m = regex.exec(s)) !== null) {
      // This is necessary to avoid infinite loops with zero-width matches
      if (m.index === regex.lastIndex) {
        regex.lastIndex++;
      }
      match.push(m[0]);
    }
    return match.join(d);
  }

  $("button").click(function() {
    var task = $(this).attr("id");
    var inp = $("#recode").val().trim();
    var r;
    $("#result").val("");
    if (task == "chunk") {
      r = chunkFour(inp, 4, ",");
    } else {
      r = regFour(inp, 4, ",");
    }
    $("#result").val(r);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
  <p>Recode <input id="recode" type="text" value="001100120013001500170019" />
</div>
<button id="chunk">Chunk</button> <button id="regex">RegEx</button>
<div>
  <p>Result <input id="result" type="text" />
</div>

如您所见,这里有两种方法可以分解一串数字,以便您可以使用它们。将它们放入数组中可以实现很多功能,例如排序或比较。你用它做什么取决于你。

更新我将功能调整为更灵活。因此,您可以查找 2 个数字,也可以根据需要将它们分开|

希望有帮助。


推荐阅读