js通用验证,给表单添加属性!

Validate=new function()
{
    ;
}
Validate.Submit=function(pParam1)
{
    var rtnValue=true;
    var e;
    if(arguments.length==1)
    {
        e=document.getElementById(pParam1).getElementsByTagName('input');
    }
    else
    {
        e=document.forms[0].elements;
    }
    var propertyCount=0;
    for(var i=0;i<e.length;i++)
    {
        if(rtnValue==false) break;//如果发现返回值是假直接中断
        switch(e[i].type.toLowerCase())
        {
            case 'text':
    if(e[i].isnull!=null)
    {
     if(e[i].isnull.toLowerCase()=='false'){
      if(e[i].value==''){
       alert(e[i].alerttext+'不能为空');
       e[i].focus();
       rtnValue=false;
      }
     }    
    }
                if(rtnValue == true)
                {
//数字判断
     if(e[i].isnum != null)
     {
      if(e[i].isnum=='true')
      {
       if(isNaN(e[i].value))
       {//不是数字
        alert(e[i].alerttext+'只能为数字!');
        e[i].select();
        e[i].focus();   
        rtnValue=false;
       }
       else
       {//是数字
        if(e[i].minvalue!=null)propertyCount+=1;
        if(e[i].maxvalue!=null)propertyCount+=1;
        if(propertyCount==2)
        {
         if(parseFloat(e[i].value)<parseFloat(e[i].minvalue) || parseFloat(e[i].value)>parseFloat(e[i].maxvalue))
         {
          alert(e[i].alerttext+'应在 '+e[i].minvalue+' 和 '+e[i].maxvalue+' 之间');
          e[i].select();
          e[i].focus();   
          rtnValue=false;
         }
        }
        else if(e[i].minvalue!=null)
        {
         if(parseFloat(e[i].value)<parseFloat(e[i].minvalue)){
          alert(e[i].alerttext+'不能小于 '+e[i].minvalue);
          e[i].select();
          e[i].focus();   
          rtnValue=false;
         }
        }
        else if(e[i].maxvalue!=null){
         if(parseFloat(e[i].value)>parseFloat(e[i].maxvalue)){
          alert(e[i].alerttext+'不能大于 '+e[i].maxvalue);
          e[i].select();
          e[i].focus();   
          rtnValue=false;
         }
        }
       }
      }
     }
//判是否Email
     if(e[i].isemail!=null)
     {
      if(e[i].isemail.toLowerCase()=='true')
      {
       if(!Validate.IsEmail(e[i].value))
       {
        alert(e[i].alerttext+'格式错误!');
        e[i].focus();
        rtnValue=false;
       }
      }
     }
//判是否为手机
     if(e[i].ismobile!=null)
     {
      if(e[i].ismobile.toLowerCase()=='true')
      {
       if(e[i].value!='')
       {
        if(!Validate.IsMobile(e[i].value))
        {
         alert(e[i].alerttext+'格式错误!');
         e[i].focus();
         rtnValue= false;
        }
       }
      }
     }
//判是否为固话
     if(e[i].isfixedphone!=null)
     {
      if(e[i].isfixedphone.toLowerCase()=='true')
      {
       if(e[i].value!='')
       {
        if(!Validate.IsFixedPhone(e[i].value))
        {
         alert(e[i].alerttext+'格式错误!');
         e[i].focus();
         rtnValue= false;
        }
       }
      }
     }
//判是否为固话或移动电话
     if(e[i].istel!=null)
     {
      if(e[i].istel.toLowerCase()=='true')
      {
       if(e[i].value!='')
       {
        if(!Validate.IsFixedPhone(e[i].value)&&!Validate.IsMobile(e[i].value))
        {
         alert(e[i].alerttext+'格式错误!');
         e[i].focus();
         rtnValue= false;
        }
       }
      }
     }
//判是否为邮政编码
     if(e[i].ispostalcode!=null)
     {
      if(e[i].ispostalcode.toLowerCase()=='true')
      {
       if(e[i].value!='')
       {
        if(!Validate.IsPostalCode(e[i].value))
        {
         alert(e[i].alerttext+'格式错误!');
         e[i].focus();
         rtnValue= false;
        }
       }
      }
     }
     
                }
                break;
   default:
    break;
           
        }
    }
    return rtnValue;
}

Validate.IsEmail=function(pValue)
{
 if(!/^/w+([/.-]?/w+)*@/w+([/.-]?/w+)*(/./w{2,3})+$/.test(pValue))
  return false;
 else
  return true;
}
Validate.IsFixedPhone=function(pValue)
{
 var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
  if (!patrn.exec(pValue))
   return false ;
  else
   return true ;
}
Validate.IsMobile=function(pValue)
{
 var reg=/^1(3|5)/d{9}$/gi;
    return (reg.test(pValue));
}

Validate.IsPostalCode=function(pValue)
{
 var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
  if (!patrn.exec(pValue))
   return false ;
  else
   return true ;
}

 //调用时,引入js,在事件中加上btn.Attributes["onclick"]="javaScript:return Validate.Submit();";

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值