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;
}