Javascript表单验证"z",,(“x"|| "y").

Javascript Form Validation with "z" && ( "x" || "y" )

本文关键字:quot 表单 Javascript 验证      更新时间:2023-09-26

似乎有一点麻烦,让一些验证工作

当前正在尝试实现一个系统,如果变量为false,并且表单包含0000或1111,则将重定向用户。

的例子:

if xml_response == "false" && form == ("0000" || "1111") {
    window.location.replace("");
} else {
    submit.form
}

我已经能让它工作了000。如果XML生成false,并且表单包含0000,则重定向成功。

如果XML生成false并且表单包含1111,则没有骰子。我认为这与我如何格式化操作符有关。什么好主意吗?

下面是我的声明:

if (response == "false" && document.forms['Form'].id.value==("0000" || "1111") ) {
window.location.replace("http://url/");
} else {
document.getElementById("submit_form").submit();
}

这是无效的,您必须单独检查每个值

if ((xml_response == "false") && (form == "0000" || form == "1111")) {
    window.location.replace("");
} else {
    submit.form
}

请注意,您正在检查字符串false和看起来像数字的字符串。

还有一个选项来检查数组是否有多个值

if ( 
    ( response == "false" ) && 
    ( ['0000','1111'].indexOf(document.forms['Form'].id.value) != -1 )
   ) 
{
   window.location.replace("http://url/");
} else {
   document.getElementById("submit_form").submit();
}

或者

/(0000|1111)/.exec(document.forms['Form'].id.value)

注意:

document.forms['Form'].id.value

将尝试在文档中查找名称或ID为"form"的表单。如果它找到一个,它将访问它的ID属性,这是一个字符串,并尝试读取它的value属性。字符串没有"value"属性,所以结果将是值undefined