我忘了密码表格。它有两个字段1)电子邮件和2)移动。所以我需要的是验证它。就像两个字段都不应该为空,两个字段都不应该填充,任何一个字段都应该填充。电子邮件应采用电子邮件格式,移动电话应仅包含数字。
javascript代码:
function validate_fgtmgrpwd(){
var adminid=document.f_mgr_password.mgrid;
var adminmobile=document.f_mgr_password.mgrmobile;
var mgr_length=document.f_mgr_password.mgrmobile.value;
if ((document.f_mgr_password.mgrid=="Ex: ManagerID@Email.com")||
(document.f_mgr_password.mgrid==""))
{}
{document.getElementById("validationMessage").innerHTML=" <font color='#FF0000'>Error: </font> Please Enter Either Email Id Or Mobile No:!";
popup('validationPopup');
mgrid.focus();
return false;
}
}
答案 0 :(得分:0)
您应该执行验证服务器端,而不是客户端。总有办法绕过你的javascript表单验证。
因此,您应该检查/验证php脚本中的POST值,并采取相应的行动。
答案 1 :(得分:0)
使用html5,您可以为您的电子邮件字段定义输入类型=“电子邮件”(因此它会正确解析插入的电子邮件),并为您的手机字段定义输入类型=“tel”。因此,在onfocus事件中为其他字段设置清除字段。这应该没问题。
答案 2 :(得分:0)
试试这个:
function validate_fgtmgrpwd() {
var adminid = document.f_mgr_password.mgrid,
adminmobile = document.f_mgr_password.mgrmobile,
emailExp = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/gi,
phoneExp = /^[0-9\-\+]{9,15}$/gi;
if(!adminid.value.length && !adminmobile.value.length){
alert("At Least one field is mandatory!");
adminid.focus();
return false;
} else {
if(adminid.value.length && !emailExp.test(adminid.value)){
alert("Enter a valid email");
adminid.focus();
return false;
} else if(adminmobile.value.length && !phoneExp.test(adminmobile.value)) {
alert("Enter a valid phone number");
adminmobile.focus();
return false;
} else {
return true;
}
}
}
对于HTML5支持的浏览器,本机验证将起作用,而对于其他浏览器,自定义验证将起作用。
jsfiddle:http://jsfiddle.net/MR6bD/2/