![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 3 Dołączył: 14.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
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... ![]() 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> Ten post edytował Stef@n 27.03.2006, 22:59:15 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 10:08 |