因此,我正在进行某种形式的验证,我试图接受仅在满足两个条件后才调用该函数的用户输入。到目前为止,似乎只有第一个条件得到满足将导致“工作”警报,而第二个条件则不需要满足。我可以输入〜尝试满足第二个条件,但是它仍然会给我“破碎”警报。我不确定是否可以将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");
}
input.value.match
接受一个参数,您不能在其中传递布尔值。您需要像这样单独检查它们:
if(input.value.match(link1) && input.value.match(link2) )
像这样检查。如果两个条件都成立,它将满足
if(input.value.match(link1) && input.value.match(link2)) {
alert("Works");
}
else {
alert("Broken");
}