如果条件不能同时验证两个条件

问题描述 投票:0回答:2

因此,我正在进行某种形式的验证,我试图接受仅在满足两个条件后才调用该函数的用户输入。到目前为止,似乎只有第一个条件得到满足将导致“工作”警报,而第二个条件则不需要满足。我可以输入〜尝试满足第二个条件,但是它仍然会给我“破碎”警报。我不确定是否可以将link1和link2都组合成一个条件,在该条件下,我的函数将检查输入是否以http://开头,还要在URL的某处检查〜。

  var link1 = /[~]/;
  var link2 = /^http:\/\//;

  var input = document.getElementsByName("textbox")[0];
  if(input.value.match(link1 && link2)) {
  alert("Works");
   } else {
  alert("Broken");
   }
javascript forms validation dom
2个回答
1
投票

input.value.match接受一个参数,您不能在其中传递布尔值。您需要像这样单独检查它们:

  if(input.value.match(link1) && input.value.match(link2) ) 

0
投票

像这样检查。如果两个条件都成立,它将满足

     if(input.value.match(link1) && input.value.match(link2)) {
        alert("Works");
     }
     else {
        alert("Broken");
     }
© www.soinside.com 2019 - 2024. All rights reserved.