javascript - 如何在数字输入字段中添加逗号以获取多个重新编码
问题描述
我有一个 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');
});
};
我希望它显示不止一个重新编码
解决方案
根据一些评论,我怀疑您正在使用以下内容:
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 个数字,也可以根据需要将它们分开|
。
希望有帮助。
推荐阅读
- csv - 由于引号,无法在 pyspark 数据框中正确读取 csv 文件
- azure - Azure B2C 租户和图形 API,用户管理
- python - sorted(reverse=True) 和 [::-1] 的性能差异
- python - 数据无法使用烧瓶保存到 MySQL
- java - 超过 ReentrantReadWriteLock readLock 给予时间限制
- flutter - Flutter rxdart 流加速度计
- user-interface - 在同一列中放置多个按钮 - Tkinter 使用网格
- java - Kotlin readline 复制粘贴时效果不好
- java - Android - 事务 - 任务尚未完成
- python - 相对导入错误。如何从python中的更高级别目录导入文件?