Javascript 通过具有公共元素来检测输入是否匹配

Javascript 通过具有公共元素来检测输入是否匹配,javascript,html,Javascript,Html,我有两个输入框,我正在尝试比较它们,以查看它们是否有公共元素。然而,出于某种原因,它不起作用。我的代码: HTML: 个人地址第1行: 地址行1: JavaScript: 函数vali(){ var add1Str=document.getElementById('persAdd1').value; var add2Str=document.getElementById('addLine1').value; var arr1=add1Str.split(“”); var arr2=add2St

我有两个输入框,我正在尝试比较它们,以查看它们是否有公共元素。然而,出于某种原因,它不起作用。我的代码:

HTML:

个人地址第1行:
地址行1:
JavaScript:

函数vali(){
var add1Str=document.getElementById('persAdd1').value;
var add2Str=document.getElementById('addLine1').value;
var arr1=add1Str.split(“”);
var arr2=add2Str.split(“”);
var arr3=[];
对于(变量i=0;i


有什么想法吗?

以下内容适合您

function vali() {
    var add1Str = document.getElementById('persAdd1').value;
    var add2Str = document.getElementById('addLine1').value;
    var arr1 = add1Str.split(" ");
    var arr2 = add2Str.split(" ");
    var arr3 = [];
    for (var i = 0; i < arr1.length; i++) {
        for (var j = 0; j < arr2.length; j++) {
            if (arr1[i] === arr2[j]) {
                arr3.push(arr1[i]);
                //console.log(arr3);
            }
        }
    }
    if (arr3.length > 0) { //check if the array 3 has any items, if yes alert error.
        alert("error");
    }
}
函数vali(){
var add1Str=document.getElementById('persAdd1').value;
var add2Str=document.getElementById('addLine1').value;
var arr1=add1Str.split(“”);
var arr2=add2Str.split(“”);
var arr3=[];
对于(变量i=0;i0){//检查数组3是否有任何项,如果有,则发出错误警报。
警报(“错误”);
}
}

匹配项
未定义。您的打印添加1STR两次?有什么原因吗?是的,对不起。刚换了,但还是没用。你在哪里换的?
变量精确匹配的是什么?还没有确定你的要求是什么?再次感谢。所以错误是在我最后一次的if陈述是的。要检查数组是否有任何项,可以使用数组的
.length
。此外,我将检查移动到
for
循环之外,因为如果它在循环内,它将根据匹配的次数发出警报。