任何两个文本域验证

时间:2014-01-13 11:37:58

标签: javascript

我忘了密码表格。它有两个字段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="&nbsp;<font color='#FF0000'>Error: </font> Please Enter Either Email Id Or Mobile No:!";
  popup('validationPopup');
    mgrid.focus();
    return false; 
  }
}

3 个答案:

答案 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/