Apr
6

几个非常经典且常用的asp表单函数     2009

 10:59    298    0   noel 程序 代码 源码 不指定 | |
几个非常经典且常用的asp表单函数
/**********************************************************************************
*
* 功能说明:JS表单验证函数库
* 作者: 刘功勋;
* 版本:V0.1(JavaScript);时间:
* 注意:文件为js文件,使用时,<script language="javascript" src="*.js"></script>
* *******************************************************************************/

/********************************************************************************
* 函数名称:resultRemain
* 功能说明:根据传递值, 改变表单提示状态
* 参    数:id:表单span ID号;str:提示文字;CssClassName:改变提示颜色的CSS Style Class名称

*********************************************************************************/
function resultRemain(id,stype,str,CssClassName)
{
      switch (stype) {
            //默认          
      case "normal" :
          {
              eval("span_"+id).className=CssClassName;    
           break;
       }
         //正确
      case "right" :
          {        
           eval("span_"+id).innerHTML=str;
           eval("span_"+id).className=CssClassName;          
           break;
       }
      //错误
      case "error":
        {                                
         eval("span_"+id).className=CssClassName;
         eval("error_"+id).innerHTML=str;                                
         break;
            }
      //获得焦点
      case "focus":      
      {
        eval("span_"+id).innerHTML=str;
        eval("span_"+id).className=CssClassName;        
      }
      default :
       break;
     }
}

/********************************************************************************
* 函数名称:onFocusForm
* 功能说明:密码输入框获得焦点时显示提示状态
* 参    数:o:表单对象
* 调用方式:表单控件名称.Attributes["onfocus"] = "return onFocusPwd(this);"; //(Asp.net)
*********************************************************************************/
function onFocusForm(o,str)
{
    if(o){    
        resultRemain(o.id,"focus",str,"formonfocus");
    
    }
}


/********************************************************************************
* 函数名称:onCheckPwd
* 功能说明:当表单失去焦点时, 触发相应的密码检测
* 参    数:o:表单对象
* 调用方式:表单名称.Attributes["onfocus"] = "return onFocusPwd(this);"; //(Asp.net)
*********************************************************************************/
function onCheckPwd(o){    
    var p = o.value;    
    if(p){
        //测试密码长度,包括汉字密码
     var len = 0;
     var ary = escape(p).match(/(%u[0123456789ABCDEF]{4})+/g);
     if(ary){
      len = unescape(ary.join("")).length * 2;
      p = unescape(escape(str).replace(/(%u[0123456789ABCDEF]{4})+/g,""));
      len += p.length;
     }else{
      len = p.length;
     }    
     if(len < 6 || len > 20){
          resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 密码有误</span> ","formerr");
       return false;            
            
        }else{
          resultRemain(o.id,"right","填写正确 ","formnormal");  
          return true;              
       }
    }else{
        resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 密码不能为空</span> ","formerr");
        return false;      
    }
};

/**********************************************************************************
* 函数名称:strlen
* 功能说明:检测字符串长度
* 参    数:o:表单对象;len:字符串长度
* 调用方式:表单名称.Attributes["onblur"] = "return strlen(this,30);"; //(Asp.net)
***********************************************************************************/

function strlen(o,len)
{
    var p = o.value;    
    if(p)
    {
        var l=p.length;
        if(l>len)
            {
             resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 字符超过长度</span> ","formerr");
             return false;
           }
        else
             resultRemain(o.id,"right","填写正确 ","formnormal");
             return true;
    }
    else
    {
        resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 资料不能为空</span> ","formerr");
        return false;
    }
}

/**********************************************************************************
* 函数名称:onCheckPostCode(o)
* 功能说明:检测邮编是否合法
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return onCheckPostCode(this);"; //(Asp.net)
***********************************************************************************/
function onCheckPostCode(o){
    var str = o.value;
    if(str){
        var pattern = /^\d{6}$/;
if(!pattern.test(str))
        {
            resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 邮编输入不合法</span> ","formerr");          
            return false;
        }else{
            resultRemain(o.id,"right","填写正确 ","formnormal");
            return true;
        }
    }else{
            resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 邮编不能为空</span> ","formerr");
           return false;
        }
}

/**********************************************************************************
* 函数名称:onCheckTel(o)
* 功能说明:检测电话号码是否合法或传真
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return onCheckPostCode(this);"; //(Asp.net)
***********************************************************************************/
function onCheckTel(o){
    var str = o.value;
    if(str){
        var pattern = /^((\d{3,4}-?\d{7,8})|(\d{7,8}))$/;
if(!pattern.test(str))
        {
              resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 号码格式不合法</span> ","formerr");            
            return false;
        }else{
            resultRemain(o.id,"right","填写正确 ","formnormal");
            return true;
        }
    }else{
              resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 号码不能为空</span> ","formerr");
              return false;
        }
}

/**********************************************************************************
* 函数名称:onCheckMobile(o)
* 功能说明:检测手机号码是否合法
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return onCheckMobile(this);"; //(Asp.net)
***********************************************************************************/
function onCheckMobile(o){
    var str = o.value;
    if(str){
        var pattern = /^(0?13\d{9})$/;
if(!pattern.test(str))
        {
            resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 手机号码输入不合法</span> ","formerr");          
            return false;
        }else{
          resultRemain(o.id,"right","填写正确 ","formnormal");
          return true;
        }
    }else{
             resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 手机号码不能为空</span> ","formerr");
             return false;
        }
}

/**********************************************************************************
* 函数名称:onCheckEmail(o)
* 功能说明:检测E-mail是否合法
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return onCheckEmail(this);"; //(Asp.net)
***********************************************************************************/
function onCheckEmail(o){
    var em = o.value;
    if(em){
        var pattern = /^(\w|_|\.)+@((\w|_|\-)+\.)+(\w){2,3}$/;
     if(!pattern.test(em))
     {
          resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> E-mail输入不合法</span> ","formerr");        
         return false;  
       }  
     else{
            resultRemain(o.id,"right","填写正确 ","formnormal");
            return true;
        }
}else{
      resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> E-mail不能为空</span> ","formerr");
      return false;    
}
}

/**********************************************************************************
* 函数名称:ipcheck(o)
* 功能说明:检测IP地址是否合法
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return ipcheck(this);"; //(Asp.net)
***********************************************************************************/
function ipcheck(o){    
    var ipstr=o.value;
    if(ipstr){
         var reg = /^((\d{1,3})(\.\d{1,3}){3})$/;
         if(reg.test(ipstr))
         {
            var ary = ipstr.split('.');
            for(key in ary)
      {
                if(parseInt(ary[key]) > 255)
       {
            resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" />IP输入不合法</span> ","formerr");
           return false;
       }
            }
             resultRemain(o.id,"right","填写正确 ","formnormal");
              return true;
         }
         else
         {
           resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" />IP输入不合法</span> ","formerr");
            return false;
         }
    }
    else
    {
        resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> IP不能为空</span> ","formerr");  
         return false;
    }
}

/**********************************************************************************
* 函数名称:checkNum(o)
* 功能说明:检测是否为纯数字
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return checkNum(this);"; //(Asp.net)
***********************************************************************************/
function checkNum(o)
{
    var str=o.value;
    if(str)
    {
         var reg =/\D/;
          if(!reg.test(str))
          {
             resultRemain(o.id,"right","填写正确 ","formnormal");
              return true;
          }
          else
          {
             resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 起始标识应为纯数字!</span> ","formerr");
             return false;
          }        
    }
    else
    {
       resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 起始标识不能为空</span> ","formerr");
       return false;  
    }
}

/**********************************************************************************
* 函数名称:checkchinese(o)
* 功能说明:检测是否为中文字符
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return checkchinese(this);"; //(Asp.net)
***********************************************************************************/
function checkchinese(o)
{
    var str=o.value;
    if(str)
    {
         var reg =/[\u0391-\uFFE5]/gi;
          if(!reg.test(str))
          {
             resultRemain(o.id,"right","填写正确 ","formnormal");
             return true;
          }
          else
          {
             resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 含有中文字符!</span> ","formerr");
              return false;
          }        
    }
    else
    {
       resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 不能为空</span> ","formerr");
      return false;
    }
}

/**********************************************************************************
* 函数名称: CheckUid(o)
* 功能说明:检测用户名是否合法,暂没做ajax检测
* 参    数:o:表单对象;
* 调用方式:表单名称.Attributes["onblur"] = "return CheckUid(this);"; //(Asp.net)
***********************************************************************************/
function CheckUid(o){
    var u = o.value;
    if(u){
        if(u.length < 4 || u.length > 20)
        {
            resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 用户名长度需在4-20之间!</span> ","formerr");
            return false;
        }
    }else{
         resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 用户名不能为空!</span> ","formerr");
        return false;
    }
    var pattern = /^([a-zA-Z0-9]|[\u4E00-\uFA2D])+$/;
    if(!pattern.test(u))
    {
         resultRemain(o.id,"error","<span style=\"color:#FF0000;\"><img src=\"/skin/main/images/icon_note.gif\" align=\"absmiddle\" /> 用户名包含非法字符!</span> ","formerr");
        return false;
    }
    else
    {
        resultRemain(o.id,"right","填写正确 ","formnormal");
        return true;
    }
    
//    if(u == o1.value && u != ""){
//        RegStyle(o.id,"right","此用户名可以使用");
//        return false;
//     }
//    var flag = LoadXml(HostName + "/CallPage/Query.aspx?op=QueryUid&s=" + o.value);
//    if(flag == 'False'){
//        RegStyle(o.id,"right","此用户名可以使用");
//        o1.value = u;
//    }else{
//        RegStyle(o.id,"error","这个用户名已被注册");
//        return false;
//    }
}


表单提交时,验证全部表单的例子:

function RegForm()
{

    var falsestr="";
    //检测密码
if(!onCheckPwd(Form1.tb_u_password))    
       falsestr +="false|";
if(!onCheckPwd(Form1.tb_u_password2))    
       falsestr +="false|";
if(Form1.tb_u_password.value !=Form1.tb_u_password2.value)
       falsestr +="false|";
if(!onCheckEmail(Form1.tb_email))    
       falsestr +="false|";
if(!onCheckTel(Form1.tb_tel))    
       falsestr +="false|";
// if(!onCheckMobile(Form1.tb_mobile))    
   //    falsestr +="false|";
if(!CheckUid(Form1.tb_name))    
       falsestr +="false|";          

   //当falsestr中,包含false中,则返回false
if(falsestr.length>=5)
{
alert('表单中, 有不符合规定的字符');  
       return false;
   }
    else
        return true;
            
}

作者:noel@淘宝网女装新款秋装连衣裙裤子外套上衣_2012时尚女装新款 Ecmall二次开发-PHP技术
地址:http://www.laohucheng.com/post/242/
版权所有©转载时必须以链接形式注明作者和原始出处及本声明!

Tags: 引用(0)
发表评论
昵称 [注册]
密码 游客无需密码
网址
电邮
打开HTML 打开UBB 打开表情 隐藏 记住我