如何在javascript中验证和比较重复的数组
我将输入的值存储在变量中,并将它们保存在数组中 我想比较是否输入了任何重复的旅行id,如果输入了重复的旅行id及其相应的邮政编码,则添加红色错误如何在javascript中验证和比较重复的数组,javascript,arrays,validation,Javascript,Arrays,Validation,我将输入的值存储在变量中,并将它们保存在数组中 我想比较是否输入了任何重复的旅行id,如果输入了重复的旅行id及其相应的邮政编码,则添加红色错误 <p> <input id="tripcode1" value="tripcode1"> <input id="zipcode1" value="zipcode1"> </p> <p> <input id="tripcode2" value="tripcode2">
<p>
<input id="tripcode1" value="tripcode1">
<input id="zipcode1" value="zipcode1">
</p>
<p>
<input id="tripcode2" value="tripcode2">
<input id="zipcode2" value="zipcode2">
</p>
<p>
<input id="tripcode3" value="">
<input id="zipcode3" value="">
</p>
<p>
<input id="tripcode4" value="">
<input id="zipcode4" value="">
</p>
<p>
<input id="tripcode5" value="">
<input id="zipcode5" value="">
</p>
<a href="javascript:validateTripID();">Submit</a>
<script>
function validateTripID() {
var tripcode1 = document.getElementById("tripcode1").value;
var zipcode1 = document.getElementById("zipcode1").value;
var tripcode2 = document.getElementById("tripcode2").value;
var zipcode2 = document.getElementById("zipcode2").value;
var tripcode3 = document.getElementById("tripcode3").value;
var zipcode3 = document.getElementById("zipcode3").value;
var tripcode4 = document.getElementById("tripcode4").value;
var zipcode4 = document.getElementById("zipcode4").value;
var tripcode5 = document.getElementById("tripcode5").value;
var zipcode5 = document.getElementById("zipcode5").value;
var tripIDArray = [
[tripcode1,zipcode1],
[tripcode2,zipcode2],
[tripcode3,zipcode3],
[tripcode4,zipcode4],
[tripcode5,zipcode5]
];
var tripArrayLength = tripIDArray.length;
var Z = 0;
for (var i=0; i < tripArrayLength; i++) {
var a = tripIDArray[Z][0];
for (var k=0 ; k < tripArrayLength; K++) {
var b = tripIDArray[k][0];
k++;
if (a === b) {
alert(a);
}
}
Z = Z+1;
}
}
</script>
函数validateTripID(){
var tripcode1=document.getElementById(“tripcode1”).value;
var zipcode1=document.getElementById(“zipcode1”).value;
var tripcode2=document.getElementById(“tripcode2”).value;
var zipcode2=document.getElementById(“zipcode2”).value;
var tripcode3=document.getElementById(“tripcode3”).value;
var zipcode3=document.getElementById(“zipcode3”).value;
var tripcode4=document.getElementById(“tripcode4”).value;
var zipcode4=document.getElementById(“zipcode4”).value;
var tripcode5=document.getElementById(“tripcode5”).value;
var zipcode5=document.getElementById(“zipcode5”).value;
变量Tripidaray=[
[tripcode1,zipcode1],
[tripcode2,zipcode2],
[tripcode3,zipcode3],
[tripcode4,zipcode4],
[tripcode5,zipcode5]
];
var tripArrayLength=tripIDArray.length;
var Z=0;
对于(var i=0;i
给你!请参阅JSFIDLE链接
函数validateTripID(){
var tripcode1=document.getElementById(“tripcode1”).value;
var zipcode1=document.getElementById(“zipcode1”).value;
var tripcode2=document.getElementById(“tripcode2”).value;
var zipcode2=document.getElementById(“zipcode2”).value;
变量Tripidaray=[
[tripcode1,zipcode1],
[tripcode2,zipcode2]
];
var tripArrayLength=tripIDArray.length;
var Z=0;
对于(var i=0;i
我没有完全得到您想要的,但请检查以下内容:
如果要检查邮政编码,只需更改以下内容:
// change this var a = tripIDArray[i] to
var a = tripIDArray[i];
...
var b = tripIDArray[k];
...
//change if statement to
if (a[0]===b[0] && a[1]===b[1]) ...
我已经更新了你的提琴以找到重复的tripcode条目。根据你的解释,我想这就是你想做的
function validateTripID() {
var tripcode1 = document.getElementById("tripcode1");
var zipcode1 = document.getElementById("zipcode1");
var tripcode2 = document.getElementById("tripcode2");
var zipcode2 = document.getElementById("zipcode2");
var tripcode3 = document.getElementById("tripcode3");
var zipcode3 = document.getElementById("zipcode3");
var tripcode4 = document.getElementById("tripcode4");
var zipcode4 = document.getElementById("zipcode4");
var tripcode5 = document.getElementById("tripcode5");
var zipcode5 = document.getElementById("zipcode5");
var tripcodes = [tripcode1, tripcode2, tripcode3, tripcode4, tripcode5];
var zipcodes = [zipcode1, zipcode2, zipcode3, zipcode4, zipcode5];
var tripIDArray = [
[tripcodes[0].value, zipcodes[0].value],
[tripcodes[1].value, zipcodes[1].value],
[tripcodes[2].value, zipcodes[2].value],
[tripcodes[3].value, zipcodes[3].value],
[tripcodes[4].value, zipcodes[4].value]
];
var tripArrayLength = tripIDArray.length;
for (var i = 0; i < tripArrayLength; i++) {
for(var j = i+1; j < tripArrayLength; j++){
if(tripIDArray[i][0] == tripIDArray[j][0]){
tripcodes[i].className += "error";
alert("tripcode "+tripIDArray[i][0]+" already entered at highlighted field!");
}
}
}
函数validateTripID(){
var tripcode1=document.getElementById(“tripcode1”);
var zipcode1=document.getElementById(“zipcode1”);
var tripcode2=document.getElementById(“tripcode2”);
var zipcode2=document.getElementById(“zipcode2”);
var tripcode3=document.getElementById(“tripcode3”);
var zipcode3=document.getElementById(“zipcode3”);
var tripcode4=document.getElementById(“tripcode4”);
var zipcode4=document.getElementById(“zipcode4”);
var tripcode5=document.getElementById(“tripcode5”);
var zipcode5=document.getElementById(“zipcode5”);
变量tripcodes=[tripcode1、tripcode2、tripcode3、tripcode4、tripcode5];
变量zipcodes=[zipcode1,zipcode2,zipcode3,zipcode4,zipcode5];
变量Tripidaray=[
[tripcodes[0]。值,zipcodes[0]。值],
[tripcodes[1]。值,zipcodes[1]。值],
[tripcodes[2]。值,zipcodes[2]。值],
[tripcodes[3]。值,zipcodes[3]。值],
[tripcodes[4]。值,zipcodes[4]。值]
];
var tripArrayLength=tripIDArray.length;
对于(var i=0;i
}
工作提琴:我不清楚您想要什么?如果用户输入相同的旅行id两次,我想提醒他您只想检测重复的旅行码,还是还想查找重复的旅行码?
function validateTripID() {
var tripcode1 = document.getElementById("tripcode1");
var zipcode1 = document.getElementById("zipcode1");
var tripcode2 = document.getElementById("tripcode2");
var zipcode2 = document.getElementById("zipcode2");
var tripcode3 = document.getElementById("tripcode3");
var zipcode3 = document.getElementById("zipcode3");
var tripcode4 = document.getElementById("tripcode4");
var zipcode4 = document.getElementById("zipcode4");
var tripcode5 = document.getElementById("tripcode5");
var zipcode5 = document.getElementById("zipcode5");
var tripcodes = [tripcode1, tripcode2, tripcode3, tripcode4, tripcode5];
var zipcodes = [zipcode1, zipcode2, zipcode3, zipcode4, zipcode5];
var tripIDArray = [
[tripcodes[0].value, zipcodes[0].value],
[tripcodes[1].value, zipcodes[1].value],
[tripcodes[2].value, zipcodes[2].value],
[tripcodes[3].value, zipcodes[3].value],
[tripcodes[4].value, zipcodes[4].value]
];
var tripArrayLength = tripIDArray.length;
for (var i = 0; i < tripArrayLength; i++) {
for(var j = i+1; j < tripArrayLength; j++){
if(tripIDArray[i][0] == tripIDArray[j][0]){
tripcodes[i].className += "error";
alert("tripcode "+tripIDArray[i][0]+" already entered at highlighted field!");
}
}
}