js判定アップロードファイルの種類


/**
 *              ,     zip rar     。
 */
function fileCheck(){
  var postfix = form1.fileUpload.value.match(/^(.*)(\.)(.{1,8})$/)[3].toLowerCase(); //                   
  if(!(postfix == "rar"||postfix == "zip")) 
   { 
     alert('       ,   .rar  .zip   !'); 
     var nf = form1.fileUpload.cloneNode(true); 
       nf.value=''; 
       form1.fileUpload.parentNode.replaceChild(nf, form1.fileUpload); 
     return false; 
   } 
}
上記のコードは以下の内容を参照してください.
【ハーベイ】
http://harbey.iteye.com/blog/416042
jsでファイルのアップロードタイプを制御する時、下記のコードによってコントロールする時、初めて一つのファイルを選択して、onchangeイベントをトリガします.しかし、私は内容をクリアして、同じファイルを選択しています.onchangeイベントをトリガしません.コードは以下の通りです
function isValidateFile(obj){ 
    var extend = obj.value.substring(obj.value.lastIndexOf(".")+1); 
    if(extend==""){ 
    }else{ 
if(!(extend=="xls"||extend=="doc")){ 
   alert("       xls doc   !"); 
   obj.select(); 
            document.execCommand('delete'); 
   return false; 
} 
    } 
     return true; 
} 
上記の方法はページ上の表示値をクリアしただけで、初めて選択したファイルの実際値を削除していませんので、もう一度同じファイルをアップロードした場合、前後2回の値は同じです.
下記のコードに修正したら、需要を満たす:
function isValidateFile(obj){ 
    var extend = obj.value.substring(obj.value.lastIndexOf(".")+1); 
    if(extend==""){ 
    }else{ 
if(!(extend=="xls"||extend=="doc")){ 
   alert("       xls doc   !"); 
   var nf = obj.cloneNode(true); 
            nf.value=''; 
            obj.parentNode.replaceChild(nf, obj); 
   return false; 
} 
    } 
     return true; 
}