首页 | DV动态 | 数码产品 | 视频采编 | 网站建设 |
【收藏DV】
  最近3月排行
·赤马劫
·985、211、双一流
·上了大学也没体面工作,我们是否还要上大学- 附一组数据
·许小年:碎片化信息让人变得无知,要少看手机多读书
·许小年:浅析日本失去的30年——兼评“资产负债表衰退”
·高中英语-单词表
·常用网管软件下载,持续更新中...
·品牌VIS设计以及CI、VI、VIS、UI、SI的含义
Html表单javascript 验证通用模式
2004/11/22 9:03:39
 

循环主体代码如下:

/*******************************************
* 作者: 赵年峰
*
格式
null 是否为空判断
num 数字
ab 字母
chs 汉字
bit 位数
phone 电话格式
email 电子邮件格式
http 格式
*/
function check_null(check_obj){
var str = '';
for(i = 0; i < check_obj.length; i++) {
  str = str + ' ';
}
return (str == check_obj);
}

function check_num(check_obj){
  var i,j,strTemp;
  //abcdefghijklmnopqrstuvwxyz
  strTemp="0123456789";
  if ( check_obj.length== 0)
    return false;
  for (i=0;i<check_obj.length;i++)
  {
   j=strTemp.indexOf(check_obj.charAt(i));
   if (j==-1)
   {
     return false;
   }
  }
  return true;
}

function check_ab(check_obj){

  var i,j,strTemp;
  
  strTemp="abcdefghijklmnopqrstuvwxyz";
  if ( check_obj.length== 0)
    return false;
  for (i=0;i<check_obj.length;i++)
  {
   j=strTemp.indexOf(check_obj.charAt(i));
   if (j==-1)
   {
     return false;
   }
  }
  return true;
}

function check_chs(check_obj){
  if(check_obj.search(/[^\x00-\x80]/)>=0){
   return true;
  }else{
    return false;
  }
  
}

function check_bit(check_obj,bit_obj){
arry_str = bit_obj.split('_');
var obj_length = check_obj.length;

switch(arry_str[2]){
case ">":
    if(obj_length>arry_str[1]){
     return true;
    }
    break;
case "<":
    if(obj_length<arry_str[1]){
     return true;
    }
    break;
case ">=":
    if(obj_length>=arry_str[1]){
     return true;
    }
    break;
case "<=":
    if(obj_length<=arry_str[1]){
     return true;
    }
    break;
}
return false;
}

function check_phone(check_obj){

if(check_obj.search(/[0-9]{4}\-[0-9]*/)>=0){
return true;
  }else{
    return false;
  }

}

function check_email(check_obj){
  
  if(check_obj.search(/^[\w-]+@[\w-]+\.[A-Za-z0-9]{2,}$/)>=0){
    return true;
   }else{
    return false;
   }
}

function check_http(check_obj){
  if(check_obj.search(/^https?:\/\/((\w|-)+\.)+\w+\/?$/i)>=0){
    return true;
    }else{
    return false;
    }
}

/*************************************************
* 函数用途:自动检测表单
* 参数:form_name 要提交的form对象名字
*   input_arry 要检测input控件对象组
*   input_arry参数数组的第一个位置是
*   控件的名字,第二个位置是如果出错
*   要显示的错误信息字符串,第三个位
*   置是检测范围标志,如果多标志可以
*   用,分开。例如'num,null'不能空,
*   并且只能为数字
*/
function auto_check_form(form_name,input_arry){

for(var num in input_arry){
  
   alert('ok');
   alert_flag=0;
   arry_str = input_arry[num][2].split(',');

  
   for(var es_num in arry_str){
  
   switch(arry_str[es_num]){
     case "null":
       if(check_null(input_arry[num][0].value)==true){
        alert_flag=1;
       }
       break;
     case "num":
       if(check_num(input_arry[num][0].value)==false){
        alert_flag=1;
       }
       break
     case "ab":
       if(check_ab(input_arry[num][0].value)==false){
        alert_flag=1;
       }
       break;
     case "chs":
       if(check_chs(input_arry[num][0].value)==false){
       alert_flag=1;
       }
       break;
     case "phone":
       if(check_phone(input_arry[num][0].value)==false){
       alert_flag=1;
       }
       break;
     case "email":
       if(check_email(input_arry[num][0].value)==false){
         alert_flag=1;
       }
       break;
     case "http":
       if(check_http(input_arry[num][0].value)==false){
       alert_flag=1;
       }
       break;
     default:
      
   }
   if(arry_str[es_num].search(/bit_*/)>=0){
    if(check_bit(input_arry[num][0].value,arry_str[es_num])==false){
     alert_flag=1;
    }
   }  
   }
   if(alert_flag==1){
     alert(input_arry[num][1]);
     return 0;
   }


}
form_name.submit();

}


注:checkspace函数是检测是否为空

html方调用通过数组和控件对象名字,对比模式的方式来得到更多的判断支持,比如第2个参数中数组的第3个参数可以这样写:

onclick=“auto_check_form(test1,
[
[text_1,'不能空并且只能是数字','null,num'],
[text_2,'不能为空只能为字母','null,ab'],
[text_3,'不能小于9位','null,num,bit_9_>'],
[text_4,'电话号码输入错误','null,phone,bit_13_<='],
[text_5,'请输入汉字做名字','null,chs,bit_6_>']
]);">“

null,phone,bit_13_<=这些都是匹配符。



上面只是一个例子程序 此版本已修正BUG 现在是完全版本。
(DVOL本文转自:中国DV传媒 http://www.dvol.cn)

欢迎关注微信公众账号:手机烟台(mYantai)

 

  上一篇:部分HTML常用代码
  下一篇:加入收藏 设为首页
      更多...
::打印本页 ::      ::关闭窗口::


版权所有© 数码在线网站 DV OnLine©  鲁ICP备12016322号-1