下载首页下载分类最近更新排 行 榜国产软件国外软件汉化补丁本站论坛BT下载页
  • 设为首页
  • 收藏本站
  • 联系我们
您的位置:首页网页制作JS/Ajax → 收集整理些有用的JAVASCRIPT小知识
收集整理些有用的JAVASCRIPT小知识
出处:本站整理 作者:佚名 日期:2007-5-7 17:27:37 人气: [ ]

前段时间一直在做一个人才网站,里面用到了大量的Javascript代码,虽说很多都是从百度和别的网站上拷下来的,不过要把它们正确的用到自己网站上也是花费了我不少功夫的。其中有几段代码,是我找了n久也找不到完整的合适的,于是自己编出来的。现在就把它们贴出来,希望能帮到像我一样菜的鸟!
 
一、身份证验证
很多网页上都有身份证验证,不过大多是vbscript,javascript的n少。而且还不全面。身份证号码的组成结构,就不用我赘述了吧,在百度上一搜一大把的。
就说怎么验证得了:身份证验证首先是要验证字数、以及除了末尾能用字母外其它的都应该是数字。其次就是两点最重要的,出生年月日和户口所在地。

以下是引用片段:
function isValidDate( year, month, day )
{
   year  = parseInt(year,10);
   month = parseInt(month,10);
   day   = parseInt(day,10);
   if (( month==4) || (month==6) || (month==9) || (month==11) )
   { if (( day < 1) || (day > 30) )
     { alert( "日期在1 - 30之间" );
       return (false);
     }
   }
   else
   { if ( month!=2 )
     { if ( (day < 1) || (day > 31 ))
       {  alert( "日期在1 - 31之间" );
          return (false);
       }
     }
     else
     { // month == 2
       if ( ( year % 100 ) != 0 && (year % 4 == 0) || ( year % 100 ) == 0 && ( year % 400) == 0 )
       { if ( day > 29 )
         {  alert( "日期在1 - 29之间" );
            return (false);
         }
       }
       else
       { if ( day > 28 )
         { alert( "日期在1 - 28之间" );
           return (false);
         }
       }
     }
   }
 return (true);
}
function isIdCardNo(s)
{
 if ((s.length <15)||(s.length ==16)||(s.length ==17)||(s.length >18)){
   window.alert("身份证位数不正确!");
   return false;
  }
 
    slen=s.length-1;//身份证除最后一位外,必须为数字!
 for (i=0; i<slen; i++)
 {
  cc = s.charAt(i);
  if (cc <"0" || cc >"9")
  {
   return false;
  }
 }
 //提取年月日
 var strYear = parseInt(s.substring(6,10))
 var strMonth = parseInt(s.substring(10,12))
 var strDay =  parseInt(s.substring(12,14))
// Form1.year的代码根据个人情况变动
var vYear=parseInt(document.Form1.year.options[document.Form1.year.selectedIndex].text)
 var vMonth=parseInt(document.Form1.month.options[document.Form1.month.selectedIndex].text)
 var vDay=parseInt(document.Form1.day.options[document.Form1.day.selectedIndex].text)
 //判断输入的出生年月日是否是正确的日期
 if(!isValidDate(strYear,strMonth,strDay))
 {
  window.alert("请检查身份证是否输入正确!");
   return false;
 }
//判断是否与出生年月日吻合
 if((strYear!=vYear)||(strMonth!=vMonth)||(strDay!=vDay))
    {
  window.alert("身份证号与输入的出生年月日不符!");
   return false;
 }
 //document.Form1.ceshi.value=strMonth
 //document.Form1.ceshi2.value=vMonth
 return true;
}
因为我不知道身份证上户口所在地的值是用什么规则规定的,而且也没必要验证的那么详细。就没有做户口验证。

不过我觉得,应该是大同小异的吧,只要判断form里户口选择select的值和身份证里户口对应的位数是否相等就ok了。
s.substring(6,10)就是用来截取字段的。从第六位到第十位。
上一页 [1] [2] 下一页
相关文章
相关软件
评论人 评论内容摘要(共 0 条,查看完整内容) 得分 0 发表时间
关于本站 | 广告服务 | 版权声明 | 联系我们 | | 联系我 | 交流群:1361692 7710545
本站部分带宽由:华夏名网武汉IDC数据中心 赞助[排名不分先后] Powered By 零度软件园
本站软件均来源于网络,仅供学习所用。若侵犯了你的权益,请立即通知我们,我们将第一时间删除!