Salve a tutti ho cercato in giro nel web e anche sul forum ma non sono riuscito a trovare niente oppure solo codice parziale o non funzionante. Quello che vorrei realizzare è abbastanza semplice, in pratica in un form ho un campo di input di tipo file e vorrei controllare che i nomi dei file che si possono inserire non abbiamo i caratteri speciali, unici ammessi sono il PUNTO, il segno - e il segno _, tutti gli altri devono essere banditi.
Vi posto il codice che ho realizzato ma che non funziona poichè sia che ci sia un carattere speciale o meno dice sempre OK.

codice:
<head>
<script type="text/javascript">
<!--
function valida() {
var re = /^[a-z A-Z 0-9 \. - _]+$/;
var str=document.Modulo.campo_foto1.value;
if(!re.test(str)){
	alert('CARATTERI OK');
	return true;			
    }		
    else {
  	alert("CARATTERI SPECIALI NON AMMESSI. \n RIMUOVILI E RIPROVA.");		
	return false;		
   }
}
//-->
</script>	
</head>
<form method="post" name="Modulo">
<input name="campo_foto1" type="file" required class="label"> 
<input type="button" value="Invia" title="IMPORTA FOTO" onclick="valida();"> 
</form>