<input onblur='if(this.value!="" && ( this.value+"d"!=parseInt(this.value)+"d" || this.value<1900 || this.value>2004) ) {alert("Error!");this.select();this.focus()}'>

解决方案 »

  1.   

    <input type="text" onchange="JavaScript:try{var s=parseInt(this.value);}catch(e){var s=0;}finally{if(s!=s || s<1990 || s>2004){alert('error');this.focus();this.select();}}" />
      

  2.   

    if(parseInt(a)="NaN"||parseInt(a)<1900||parseInt(a)>2004)
    {
    }
      

  3.   

    不大赞成用isNaN来判断输入的是否是数值,因为isNaN太专业了:<input value=0x7ab onblur="alert( 'parseInt的结果:'+parseInt(this.value))">
    <input value=0x7ab onblur="alert( 'isNaN的结果:'+isNaN(this.value))">