我思故我強

          javascript 身份證驗證

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
          "<html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <title>無標(biāo)題文檔</title>
          </head>
          <script>
          function check(){


          //if (j==0) Xb2="男"
          ?//?? else Xb2="女"
          //var Jmsfzh1=Jmsfzh+i;
          var? Xb2="男";
          var Jmsfzh1="Jmsfzh1";
          ?alert(trim(document.all(Jmsfzh1).value));???
          ?
          ???? if (trim(document.all(Jmsfzh1).value)==""){
          ???????? alert("請輸入人員的居民身份證號!");
          ???????? document.all(Jmsfzh1).focus();
          ???????? return;
          ???? }
          ???? else
          ???? {
          ???? if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error1"){??????
          ????????? alert("您輸入的身份證號不是數(shù)字信息!");
          ????????? document.all(Jmsfzh1).focus();
          ????????? return;
          ???????? }
          ???? if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error2"){??????
          ????????? alert("您輸入的身份證號位數(shù)不正確!");
          ????????? document.all(Jmsfzh1).focus();
          ????????? return;
          ???????? }
          ????? if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error3"){
          ????????? alert("您輸入的身份證號年份不正確!");
          ????????? document.all(Jmsfzh1).focus();
          ????????? return;
          ???????? }
          ????? if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error4"){
          ????????? alert("您輸入的身份證號日期不正確!");
          ????????? document.all(Jmsfzh1).focus();
          ????????? return;
          ???????? }
          ????? if (Jmsfzhjy(trim(document.all(Jmsfzh1).value),Xb2)=="error5"){
          ????????? alert("您輸入的身份證號性別信息不正確!");
          ????????? document.all(Jmsfzh1).focus();
          ????????? return;
          ???????? }
          ????? }
          alert("ok");

          }

          //判斷居民身份證號輸入是否正確1218
          function Jmsfzhjy(strsfzh,xb)
          {
          var cd=strsfzh.length;
          var year=-1;
          var month=-1;
          var day=-1;
          for (kk=0;kk<cd;kk++){
          ???? if (strsfzh.charAt(kk)>"9" || strsfzh.charAt(kk)<"0"){
          ???????? h1="error1";
          ???????? return h1;
          ???????? }
          ??? }
          if (cd!=15&&cd!=18){
          ???? h1="error2";
          ??? return h1
          ???
          ?? }
          if (cd==15){
          ??? s1=strsfzh.substring(0,6);
          ??? s2="19"+strsfzh.substring(6,15)+"0";
          ???
          ??? strsfzh=s1+s2;
          ??? }
          year=issfzhYearValid(parseInt(strsfzh.substring(6,10)));

          if (year==-1){
          ??? h1="error3"
          ??? return h1
          ??? }
          ??? month=parseInt(strsfzh.substring(10,12));
          ??? day=isDayValid(year,month,parseInt(strsfzh.substring(12,14)));???
          ??? if (day=="-1"){??
          ??????? h1="error4"
          ??? return h1
          ??? }
          s=strsfzh.substring(16,17);

          if ((s%2==0&&xb=="男")||(s%2==1&&xb=="女")){
          ????? h1="error5"
          ??? return h1
          ??? }
          }

          //判斷居民身份證號年份的合法性
          function issfzhYearValid(year){
          ?var retyear=year;
          ? ?if (year==0 || year<1900 ||year>2100) retyear=-1;????
          ??return retyear;
          }
          //判斷日期和月份的合法性
          function isDayValid(year,month,day){
          ?var retday=day;
          ??if (day<1||day>31||month<1||month>12){
          ? ??retday=-1;
          ??}
          ??else {
          ? ??if (day==31&&(month==2||month==4||month==6||month==9||month==11)){
          ?? ???retday=-1;
          ? ??}
          ? ??else {
          ?? ???if(month==2&&day>28&&!(day==29&&year%4==0&&(year%100!==0||year%400==0))){
          ??? ????retday=-1
          ?? ???}
          ? ??}
          ?}
          ?return retday;
          }
          function trim(string) {
          ??var temp = "";
          ??var temp1="";
          ??string = '' + string;
          ??splitstring = string.split(" ");
          ??for(i = 0; i < splitstring.length; i++)
          ??temp1 += splitstring[i];
          ??splitstring = temp1.split("?");
          ??for(i = 0; i < splitstring.length; i++)
          ??temp += splitstring[i];
          ??return temp;
          ??}
          </script>
          <body>
          ?<select id="xingbie1" >
          <option value="-1">-請選擇-</option>
          <option value="男">男</option>??????? ?
          <option value="女">女</option>??????? ?
          </select>

          <input name="Jmsfzh1"? id="Jmsfzh1" type="text" value="">
          <input value="檢查"? type="button" onClick="check()">
          </body>
          </html>

          posted on 2008-05-06 16:32 李云澤 閱讀(811) 評論(0)  編輯  收藏 所屬分類: javascript

          主站蜘蛛池模板: 来凤县| 右玉县| 上思县| 巨鹿县| 陈巴尔虎旗| 吕梁市| 云林县| 巢湖市| 得荣县| 东宁县| 徐闻县| 尼玛县| 县级市| 公安县| 阿坝县| 六盘水市| 古浪县| 伽师县| 池州市| 成安县| 图片| 疏附县| 罗山县| 舒兰市| 岳普湖县| 金川县| 通榆县| 泽库县| 沅江市| 余江县| 台中市| 呼和浩特市| 西贡区| 绥化市| 同仁县| 娄烦县| 阿鲁科尔沁旗| 江山市| 宁远县| 金堂县| 泽库县|