要求字符逐个判断,如全为数字时验证通过!
function CheckUserYearInfo()
{
var UserYearStr=document.forms[0].txtyear.value;//设值为2012
var year=new Array("0","1","2","3","4","5","6","7","8","9");
for(var i=0;i<UserYearStr.length;i++)
{
  for(var j=0;j<year.length;j++)
  {
if(UserYearStr.substring(i,i+1)==year[j])
{
alert("成功!");
}
                     }
          }
}
\\课后练习题,写到这部分时脑袋锈死了,小弟不才,求各位大哥大姐指教!

解决方案 »

  1.   


      function CheckUserYearInfo()
      {
    var  pass = true ;  //记录是否通过
    var UserYearStr  = document.forms[0].txtyear.value; //设值为2012
    var year=new Array("0","1","2","3","4","5","6","7","8","9");
    outer : for(var i=0;i<UserYearStr.length;i++)
    {
    for(var j=0;j<year.length;j++)
    {
    if(UserYearStr.substring(i,i+1)==year[j])
    {
    continue outer ; //如果发现字符是属于0-9之间的 , 就表示该字符通过 ,跳过本次循环,进入下一个字符
    }
     }
     pass = false ; //如果内循环完 ,都没有匹配 ,表示该字符不为数字 , 则将pass的值改为false
     break outer; //终止循环
    }

    if(pass)
    alert("通过");         
    else
    alert("不通过");
    }
      //或则用正则表达式
       function CheckUserYearInfo()
      {
    var UserYearStr  = document.forms[0].txtyear.value; //设值为2012
    if(/^\d+$/g.test(UserYearStr))
    alert("通过");       
    else
    alert("不通过");  
      }
      

  2.   

    第一段代码出现BUG!如我输入20ss它照样得以通过!