1.ONKEYDOWN事件里加入 onkeydown = "fnc(event,this);"
function fnc(a,b) {
  if (a.keyCode==13) {
    a.keyCode=9;
   }
}
给分吧!

解决方案 »

  1.   

    2。SUBSTRING(start,end)
    如18位的
    subString(7,14)
      

  2.   

    2。SUBSTRING(start,end)
    如18位的
    subString(7,14)
      

  3.   

    1.第一个问题,用下面的方法实现(摘自以前的帖子):
    <script language="javascript">
    var cols=2;
    var obj;
    var CanMove=false;
    var key;
    function setobj(input){
    obj=input;
    }function init(){
    document.onkeydown=keyDown;
    document.onkeyup=keyUp;
    }function keyDown(DnEvents){
    var key=window.event.keyCode;
    if(key==8){
    if(event.srcElement.tagName!="INPUT"){
    event.cancelBubble = true;
    event.returnValue = false;
    return false;
    }
    } for(var i=0;i<document.forms[0].elements.length;i++)
    {
    if(document.forms[0].elements[i]==obj)
    {
    if (event.keyCode==13)//RETURN
    {
    if(i<document.forms[0].elements.length-1)
    {
    document.forms[0].elements[i+1].focus();
    }
    }
    }
    }
    }function keyUp(UpEvents){
    return false;
    }
    </script>
    <body bgcolor="#FFFFFF" text="#000000" onload="init()">
    <form>
    <table border="0" cellspacing="0" cellpadding="0" align="center">
      <tr>
        <td>
          <input type="text" name="BALLACK" onfocus="setobj(this)">
        </td>
        <td>
          <input type="text" name="BALLACK2" onfocus="setobj(this)">
        </td>
      </tr>
      <tr>
        <td> 
          <input type="text" name="BALLACK3" onfocus="setobj(this)">
        </td>
        <td> 
          <input type="text" name="BALLACK4" onfocus="setobj(this)">
        </td>
      </tr>
    </table>
    </form>
    <p align="center">回车键顺序移动
    </body>2.第二个问题:关于身份证的规则我查找了一下,有个页面是介绍这方面的,网址是:http://www.pep.com.cn/xs/teachers/shijianhuodongsheji/shuzidemiaoyong.htm
    关于取出出生日期和性别的算法如下:
    <script language="javascript">
    function outputbirthday()
    {
    var personid;
    var sexid;
    var birthday=new String("");

    personid=document.all.personid.value
    if (personid.length==15)
    {
    birthday="19";
    for (i=6;i<=11;i++)
    {
    birthday=birthday + personid.charAt(i);
    }
    //取出性别
    //sexid=personid.charAt(14);
    }
    else if (personid.value.length==18)
    {
    birthday="";
    for (i=6;i<=13;i++)
    {
    birthday=birthday + personid.charAt(i);
    }
    //取出性别
    //sexid=personid.charAt(16);
    }
    //分离出年、月、日
    birthdayok=birthday.substring(0,4)
    if (birthday.charAt(4)=="0")
    {
    birthdayok=birthdayok + "-" + birthday.substring(5,6)
    }
    else
    {
    birthdayok=birthdayok + "-" + birthday.substring(4,6)
    }
    birthdayok=birthdayok + "-" + birthday.substring(6,8)
    //输出出生日期
    alert(birthdayok);
    alert("生日是:" + birthdayok);
    //取出性别
    if (sexid % 2 ==0)
    {
    alert("性别是:女");
    }
    else
    {
    alert("性别是:男");
    }
    }
    </script>
    <body bgcolor="#FFFFFF" text="#000000" onload="init()">
    <input type="text" name="personid" onblur="outputbirthday();" size="20">
    </p>
    </body>
      

  4.   

    其实第二个问题十分简单,首先你要判断身份证号码是15位还是18位,因为现在的身份证中有非数字,所以一定是字符串了,对15位的号码6,7位是年,89位是月,10,11是日,最后一位是奇数是男性,偶数为女性,对18位的6--9表示年,再下来的两位是月再下来是两位表示日,17位是奇数表示男性,偶数为女性,表示女,最后是校验码,具体为什么你可以到 算法 论坛去找找,讨论过的.具体代码就不用我说了.上面代码中取得sexid的部分我认为有错应该是sexid=personid.charAt(15);和sexid=personid.charAt(17);否则判断生日的部分就有错,for (i=6;i<=13;i++)和for (i=6;i<=11;i++)要改为for (i=5;i<13;i++)和for (i=5;i<=11;i++).我没有做测试,不过这样改才能统一定好字符串中各字符的位置