Witam
Potrzebuje jakiegoś kodu do walidacji jak w temacie... dokładnie chodzi o to żeby plik, który jest wysyłany na serwer nie zawierał znaków specjalnych "łąć spacji" itd....

P.S szukałem ale nie mogłem znaleść ;/

Z góry dzięki

-----------------------------
Widzę ze na razie nie mam odpowiedzi wiec wsadzę kod...

Oto on (Pole file i walidacja nazwy bez spacji i znaków specjalnych...):
Kod
    <script type="text/javascript" language="Javascript">
    <!-- // Powoduje, że zawarto¶ć skryptu nie zostanie wy¶wietlona w starszych

  function check_form() {
   if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
      alert('Niepoprawna nazwa!');
      form.nazwa.focus();
      form.nazwa.select();
      return false;
   } else {
      return confirm('Jeste¶ pewny że chcesz wysłać formularz?');
   }

   return true;
   }
  function validateFILES(name) {
   var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
   return regEx.test(nazwa);
  }


    //-->
    </script>    

<form name="form" enctype="multipart/form-data" action="cos.htm" method="post" onsubmit="return

check_form();">
     <b>Nazwa*:</b><br>
      <input type="file" name="nazwa" id="nazwa" size="60%">
    <div align=center><input type="submit" value="Dodaj użytkownika"></div>
    </form>


Wszystko działa OK jeśli to nie jest pole file... bo w polu file analizuje cała ścieżkę.... i tu jest problem nie wiem jak to zrobić by sprawdził tylko nazwę pliku!

Znalazłem taki skrypt: Wyciągania nazwy z pola file... ale moja wiedza w js jest tak mała ze nie potrafię tego podstawić do tego skryptu.

Kod
function show_name(){
   f=document.getElementById("fil").value;
   off=f.length - f.lastIndexOf("\\");
   return f.substr(f.lastIndexOf("\\")+1,off);
}

------------------------------------------
EDIT 2:

OK. widzę ze dalej nikt nie wie lub nie wiem co... sad.gif ...
Trochę zmieniony kod... już jest coraz bliżej rozwiązania, ale brakuje tej kropeczki ;/...

Kod
    <script type="text/javascript" language="Javascript">
    <!-- // Powoduje, że zawartoć skryptu nie zostanie wywietlona w starszych

  function check_form() {
   if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
      alert('Niepoprawna nazwa!');
      form.nazwa.focus();
      form.nazwa.select();
      return false;
   } else {
      return confirm('Jeste pewny że chcesz wysłać formularz?');
   }

   return true;
   }

  function validateFILES(nazwa) {
  var akcja=nazwa.slice(nazwa.lastIndexOf('/')+1);
   var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
   alert(akcja);
   return regEx.test(akcja);
  }
  


    //-->
    </script>


PROBLEM... nie działa bo usuwa tylko łańcuch "asdsad/asdsad/asdsa" a nie np. "c:/asdsad/asdsad/sad"! Ktoś powie jak usuwać ten początek…
----------------------------------------------------
EDIT KONCOWY

No teraz sprawa rozwiazan troche zeszło... hihi mozecie zamknac temat! Podaje kod jakby ktoś miał problem:
Kod
   <script type="text/javascript" language="Javascript">
   <!-- // Powoduje, że zawartoć skryptu nie zostanie wywietlona w starszych

  function check_form() {
   if(form.nazwa.value != '' && !(validateFILES(form.nazwa.value))) {
     alert('Niepoprawna nazwa!');
     form.nazwa.focus();
     form.nazwa.select();
     return false;
   } else {
     return confirm('Jeste pewny że chcesz wysłać formularz?');
   }

   return true;
   }

  function validateFILES(nazwa) {
  var akcja=nazwa.slice(nazwa.lastIndexOf('\\')+1);
   var regEx = /^\w+([a-z]{1,}?\w+)*(\.\w{1,})$/;
   alert(akcja);
   return regEx.test(akcja);
  }
  


   //-->
   </script>