2013-04-24 78 views
1

我为2个输入做了我自己的表单验证,一个用于电话号码,另一个用于电子邮件地址。并且我在1页有2个表单。jQuery条件通过

我的代码是

var email, phone; 

if (email address validation passed) { 
    email = true; 
} else { 
    email = false; 
} 

if (phone number validation passed) { 
    phone = true; 
} else { 
    phone = false; 
} 

if (!(phone && email)) { 
    return false 
} else { 
    return true 
} 

,因为我有在同一页上有两种形式,我想有另一片段的第二形式一样,

var email2, phone2; 

if (email address validation passed) { 
    email2 = true; 
} else { 
    email2 = false; 
} 

if (phone number validation passed) { 
    phone2 = true; 
} else { 
    phone2 = false; 
} 

if (!(phone2 && email2)) { 
    return false 
} else { 
    return true 
} 

我发现这个问题是为了得到提交的表格,我需要email, phone, email2, phone2;都等于true。然而,我需要提交条件如果email, phone are truephone2, email2 are true 只需要有人来检查这是否是一个正确的逻辑方法来解决我的问题?

if (!(phone2 && email2)) { 
    return false 
} else if(!(phone && email)) { 
    return false 
} else return true; 
+2

'回报((电子邮件&&电话)|| (email2 && phone2));' – billyonecan 2013-04-24 09:14:37

+1

为什么不显示表单 - 也许我们可以只有一个验证 – mplungjan 2013-04-24 09:15:01

+0

会不会有'email3'和'phone3'? :) – 2013-04-24 09:16:12

回答

2

不过,我需要在条件提交如果电子邮件,电话是真的还是PHONE2,EMAIL2是真正的

你说有编写它的最简单的方法方式:

if ((email && phone) || (email2 && phone2)) { 
    return true; 
} else { 
    return false; 
} 

如果你只是要返回true或根据条件是真还是假的,你可以在这样一条线做虚假:

return (email && phone) || (email2 && phone2); 
+0

是的,忘记了'||'非常感谢 – olo 2013-04-24 09:34:45

1

你可以检查它像

if((phone2 && email2) || (phone && email)) 
    return true; 
else 
    return false;