【发布时间】:2022-09-22 21:11:09
【问题描述】:
我遇到了以下主题,它只有 1 行而不是 2 列。 如何在此处返回第二个值(请参阅下面的主题) Compare my variable with a csv file and get the matching value in javascript
这是我的 CSV 文件值:
列的csv屏幕截图
这是我目前拥有的 IT 只是从用户那里检查文件中的序列号并用文本“有效”标记 div。 此 Valid 应具有第二个 Columns 值。
<script>
const checkm = document.getElementById(\'check\');
checkm.addEventListener(\'click\', serialChecker)
async function serialChecker(){
const url = \'http://localhost/validator/serials.csv\';
const response = await fetch(url);
// wait for the request to be completed
const serialdata = await response.text();
console.log(serialdata);
const inputserialnumber = document.getElementById(\'serialnumber\').value.toString();
console.log(inputserialnumber);
// serialdata.match(/inputserialnumber/)
// serialdata.includes(inputserialnumber)
if(serialdata.includes(inputserialnumber) == true && inputserialnumber.length == 7 ){
document.getElementById(\'validity\').innerHTML = \"Valid\";
startConfetti(); // from confetti.js
}else {
document.getElementById(\'validity\').innerHTML = \"Invalid\";
stopConfetti(); // from confetti.js
}
//document.getElementById(\'test\').innerHTML = \"Valid\";
}
</script>
This is my console output 它显示了完整的 csv(当前)和用户输入
如果有帮助,将 csv 数据更改为不同的数组: array
& 提前感谢大家花时间回答我的愚蠢问题!
额外说明:
我试图做的是一个验证网站检查器。 所以用户通过一个简单的输入字段输入他们的序列号。 &我在 csv 文件中有连续剧,其中有一个名称与连续剧匹配的额外列。 因此,如果用户输入 1234567 它存在于 CSV 文件中,则我当前的代码为此返回 value = true。因为它存在于 CSV 文件中。
但我希望它返回 1234567 旁边的值(所以在第二列中),在本例中为 \"test1\"。因此,我可以使用该值而不是仅将标准“有效”文本推回网站。
-
请包括
console.log(serialdata);的输出 -
您的意思是简单地从带有 csv 数据的输出数组中获取第二个值吗?
-
在您的
if语句中,您使用了单与号运算符& -
@paddotk 就像一个简单的匹配,用户输入 1234567,如果存在则检查第一列。在其他列中返回值。本案例测试1
-
@GrafiCode 添加了一个屏幕截图,但我只是推送了我正在获取的完整 csv 和用户的输入。抱歉,我的 if 语句使用单个 & 符号是什么意思?
标签: javascript csv