[英]Anyone of two textfield validation
我有一个忘记密码的表格。 它具有两个字段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;
}
}
您应该执行验证服务器端,而不是客户端。 总有办法解决您的javascript表单验证。
因此,您应该检查/验证php脚本中的POST值,并采取相应措施。
使用html5,您可以为电子邮件字段定义输入类型=“ email”(以便它正确解析插入的email),为移动电话字段定义输入类型=“ tel”。 因此,在onfocus事件中为另一个字段设置清除字段。 这应该很好。
尝试这个:
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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.