Javascript 如果条件对两种条件都无效
因此,我正在进行一些表单验证,并尝试获取用户输入,这些输入只在满足这两个条件后调用函数。到目前为止,似乎只有满足第一个条件才会导致“工作”警报,而不需要满足第二个条件。我可以输入~以尝试满足第二个条件,但它仍然会给我“中断”警报。我不确定是否可以将link1和link2合并到一个条件中,在这个条件下,我的函数将检查输入以http://开头,但也检查url中某处的~Javascript 如果条件对两种条件都无效,javascript,forms,validation,dom,Javascript,Forms,Validation,Dom,因此,我正在进行一些表单验证,并尝试获取用户输入,这些输入只在满足这两个条件后调用函数。到目前为止,似乎只有满足第一个条件才会导致“工作”警报,而不需要满足第二个条件。我可以输入~以尝试满足第二个条件,但它仍然会给我“中断”警报。我不确定是否可以将link1和link2合并到一个条件中,在这个条件下,我的函数将检查输入以http://开头,但也检查url中某处的~ var link1 = /[~]/; var link2 = /^http:\/\//; var input = do
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");
}
link1和&link2
的值是/^http:\/\/
。您根本没有检查第一个条件。OP没有传入布尔值…:-3if(value)检查是否存在…&&带来的比较,这将导致在JS布尔结果,请纠正我。谢谢@decezeJavascript的&&
不返回布尔值: