原代码:
<html>
<head>
<script language="JavaScript">  <!--function go(o,n) {
  if (o.value.length>=3 && n!=null)
    document.myForm.elements[n].focus();  //elements[t2]
  doValidate();
}function doValidate() {
  var isValid = true;
  for (var i=0; i<document.myForm.length;i++) {
    var items = document.myForm.elements[i];
    if (items.value.length==0) {
      isValid = false;
      break;
    }
  }
  if (isValid) 
  {document.myForm.elements["s1"].disabled = false;}
}  //--></script>
</head>
<body>
<form name="myForm">
  <input type="text" name="t1" maxlength="3" size="3" onkeyup="go(this,'t2');value=value.replace(/[^\d]/g,'')">
  <input type="text" name="t2" maxlength="3" size="3" onKeyUp="go(this,'t3');value=value.replace(/[^\d]/g,'')">
  <input type="text" name="t3" maxlength="3" size="3" onKeyUp="go(this,'t4');value=value.replace(/[^\d]/g,'')">
  <input type="text" name="t4" maxlength="3" size="3" onKeyUp="go(this);value=value.replace(/[^\d]/g,'')">
  <input type="submit" name="s1" value="Submit" disabled>
</form>
</body>
</html>---------------------------------------------------------------------------------------------------
核心要问的是:
onKeyUp="go(this,'t4');value=value.replace(/[^\d]/g,'')">
其中value=value.replace(/[^\d]/g,'')不明的~
你们是如何理解的喔?`
/[^\d]/g最不明的``
字母是可以随便更换的吗?

解决方案 »

  1.   

      /[^\d]/g是正则表达式~~~
      \d:是匹配数字,是js的预定义格式
      g:查找所有匹配的模式
      /[^\d]/g就是匹配所有非数字的东东,其实可以写为/[\D]/g更多的就搜下baidu,google吧
      

  2.   

    字面意义是 非数字全干掉。详细参考正则表达shi。@_@
      

  3.   

    value=value.replace(/[^\d]/g,'') 就是检测输入的值,如果是不是数字的话就替换成空.然后把结果替换原来的值./[^\d]/g 中^在[]里是负向,即非的意思,而\d是所有数,随意匹配了所有非数字.(其实像2楼说的就比较直接\D)