日期:2014-05-17  浏览次数:20836 次

对象不支持此属性或方法
C# code
<html>
<head>
<title>身份证解析</title>
<script language="javascript">
function loadWeb(){
window.alert("身份证解析");
F1.T1.focus();
} 
function checkT1(){
var str=F1.T1.value;
if (str==""){window.alert("必须输入用户名!");
F1.T1.focus();}
}

function checkT2(){
var str=F1.T2.value;
if(str.length<18){window.alert("身份证长度必须是18位!");
 F1.T2.focus();
  }
  for(i=0;i<=16;i++){
          var str1=str.charAt(i)
           if(str1 !=0||1||2||3||4||5||6||7||8||9){
             window.alert("身份证格式不对");
              F1.T2.focus();}
      }
  var str2=str.charAt(17);
  if(str2 !=1||2||3||4||5||6||7||8||9||0||"X"){
         window.alert("身份末位证格式不对!");
          F1.T2.focus();}
   var str3=str.substring(6,9);
     if(str3<="1900"||str>="2013"){
         window.alert("日期有误!");
         F1.T2.focus();}
   var str4=str.substring(10,11) ; 
         if(str4<="01"||str>="12"){
         window.alert("日期有误!");
         F1.T2.focus();} 
   var str5=str.substring(12,13);
         if(str5<="01"||str>="31"){
         window.alert("日期有误!");
         F1.T2.focus();}  
   var str6=str.chrAt(16);
         str6=str6%2;
         if(str6=0)sex="男";
          else sex="女";
 }
 function result(){
     var str=F1.T2.value;
     var year=str.substring(6,9);
     var month=str.substring(10,11);
     var day = str.substring(12, 13);
     var sex=str.chrAt(16);
     document.F1.T3.value=year;
      document.F1.T4.value=month;
         document.F1.T5.value=day;
            document.F1.T6.value=sex;}
</script>
</head>
<body onload="loadWeb()">
<center>
<p>身份证解析</p>
<form name="F1">
<p>用户名:<input type="text"name="T1"size="18" onblur="checkT1()" >不允许为空</p>
<p>身份证:<input type="text"name="T2"size="18"onblur()="checkT2()">不允许为空且长度不超
过18位</p>
<p><input type="button"value="身份证解析"name="B1"onclick="result()">
</p>
<p>出生年月:<input type="text" name="T3"value="">年<input type="text"
name="T4"value="">月<input type="text"name="T5"value="">日</p>
<p>性别:<input type="text"name="T6"value=""></p>
</form></body>
</html>

上面的代码运行出错:“对象不支持此属性或代码”,出错行为var sex=str.chrAt(16);
请帮我看下,什么原因?谢谢


------解决方案--------------------
var sex=str.chrAt(16);


是不是
 var sex=str.charAt(16);

------解决方案--------------------
<input type="text"name="T2"size="18"onblur()="checkT2()">

分开格式不对吧

<input type="text"name="T2"size="18" onblur="checkT2()">