Javascript:检查表单中的字段是否不相同

Javascript:检查表单中的字段是否不相同,javascript,comparison,Javascript,Comparison,我有以下问题 以下是我的表格 <input type="text" name="email1" /> <input type="text" name="email2" /> <input type="text" name="email3" /> <input type="text" name="email4" /> <input type="text" name="email5" /> 我希望所有5个电子邮件ID都不同(唯一),即

我有以下问题

以下是我的表格

<input type="text" name="email1" />
<input type="text" name="email2" />
<input type="text" name="email3" />
<input type="text" name="email4" />
<input type="text" name="email5" />

我希望所有5个电子邮件ID都不同(唯一),即,我不希望用户在所有字段中输入相同的电子邮件ID

我需要用脚本完成这项工作

有人能帮我吗

谢谢,
Kartik(变量i=1;i<6;i++){ 对于(var j=i+1;j<6;j++){ if(document.getElementsByName(“email”+i)[0].value== document.getElementsByName(“电子邮件”+j)[0]。值){ 警报(“字段“+i+”和“+j+”相等!”); } } }
如果允许多个字段保持为空,您可能需要添加另一个检查。

在Javascript中,数组可以充当堆栈(push/pop),您可以在检查新项目是否已在堆栈中后,在堆栈中推送新项目

var emailAddrs = [];
var item;

    for(var i = 0; i < 5; i++){
      item = document.getElementsByName("email"+i)[0].value;
      if(! emailAddrs.contains(item))
        emailAddrs.push(item);
    }
然后为每个数组对象创建一个
contains
方法


如果您使用的是jQuery,还可以执行
$。上面的代码中是否缺少一些内容?喜欢然后检查数组的大小,如果它是5,那么所有的值都是不同的?差不多。一旦您知道数组中有多少项,以及您期望的项数,您就可以使用这些信息做一些事情。您还可以将相同的电子邮件地址推送到另一个堆栈上,并使用该信息告诉用户哪些是相同的。谢谢Justin。我已经习惯了使用它,以至于我忘了它不是一种本地方法。我已经用相关代码更新了我的答案。
var emailAddrs = [];
var item;

    for(var i = 0; i < 5; i++){
      item = document.getElementsByName("email"+i)[0].value;
      if(! emailAddrs.contains(item))
        emailAddrs.push(item);
    }
Array.prototype.contains = function(obj) {
  var i = this.length;
  while (i--) {
    if (this[i] === obj) {
      return true;
    }
  }
  return false;
}