| imho.ws |
![]() |
|
|
|
# 9 |
|
Full Member
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А если нужно несколько расширений?
И как потом обрабатывать эту функцию? В смысле как, если ни одно из расширений не верно, выдать, к примеру, alert('no') Добавлено через 2 часа и 2 минуты: Итак, я сделал это следующим способом. if((document.forms.upload.file.value.lastIndexOf(".jpg")==-1) && (document.forms.upload.file.value.lastIndexOf(".gif")==-1) && (document.forms.upload.file.value.lastIndexOf(".jpeg")==-1) && (document.forms.upload.file.value.lastIndexOf(".JPG")==-1) && (document.forms.upload.file.value.lastIndexOf(".GIF")==-1) && (document.forms.upload.file.value.lastIndexOf(".JPEG")==-1)) { alert("Допустимые расширения файлов: JPG JPEG GIF DOC TXT PM6."); return false; } else { } Все, можно самому себе ставить 5. |
|
|
|
|
# 12 |
|
::VIP::
IMHO Молодожен-2006 Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
а разница в том, что str.indexOf("jpg",str.length-3) сравнивает только последние три символа твоей строчки. а lastIndeOf только последнее вхождение по всей строчке...
в первом случае файл 23jpg.php спокойно загрузится в твою директорию и последствия будут непоправимы , а во втором вариант 23jpg.php не прокатит. тебе же это надо было? а ты сдеал совсем не то... Удачи! |
|
|
|
|
# 13 |
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
А можно вопрос? Зачем нужна проверка на javascript? Ведь Neo в любом случае должен сделать проверку расширения в скрипте закачки. Со страницы можно убрать весь javascript, и тогда, если нет проверки в скрипте, любой файл спокойно закачается... Так почему бы не оставить одну проверку в скрипте?
__________________
Завтра будет. Лучше. |
|
|
|
|
# 14 |
|
Full Member
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
hempsmoke
Ну ясно. Расскажи мне тогда, если не лень, как изменить мой отрезок кода так, чтобы использовалась фукция indexOf, а то я так и не понял куда ее писать V0iD , В том то и дело что у меня в скрипте нет проверки. Скрипт-то php, а я не знаю как реализовывать проверку на php. Если знаешь - то скажи. Вот мой скрипт (прикладываю) |
|
|
|
|
# 15 | |
|
::VIP::
IMHO Молодожен-2006 Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Neo вот, вроде работаеть... Код:
<html>
<body>
<script>
function check()
{
str=document.forms.upload.upload.value;
k=str.indexOf("jpg",str.length-3);
if (k==-1) alert("НЕ фига! это не jpg картинка");
else document.write("картинка загружена");
}
</script>
<form name="upload">
<input type="text" name="upload">
<input type="button" onClick="check()" value="Проверить">
</form>
</body>
</html>
|
|
|
|
|
|
# 18 |
|
Full Member
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Вот так?
<script> function check() { var ext = new Array ("jpg", "gif"); str=document.forms.upload.upload.value; k=str.indexOf(ext,str.length-3); if (k==-1) alert("НЕ фига! это не картинка"); else document.write("картинка загружена"); } </script> |
|
|
|
|
# 19 |
|
::VIP::
IMHO Молодожен-2006 Регистрация: 14.06.2002
Адрес: Moscow
Сообщения: 2 921
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
прости меня, милок..
- я забыл про цикл сказать!<script> var ext = new Array ("jpg", "gif"); function check() { for (i=0;i<=ext.length-1;i++) { str=document.forms.upload.upload.value; k=str.indexOf(ext[i],str.length-3); if (k==-1) alert("НЕ фига! это не картинка"); else document.write("картинка загружена"); } } </script> |
|
|
|
|
# 20 |
|
Full Member
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Опять ты кое что забыл... Алерт бокс выкидывается ровно столько раз, сколько есть объектов в массиве.. к чему бы это?
Добавлено через 4 минуты: а вот так все работает как задумано: ... var ext = new Array ("jpg", "gif"); for (i=0;i<=ext.length-1;i++) { str=document.forms.upload.upload.value; k=str.indexOf(ext[i],str.length-3); if (k==-1) { alert("НЕ фига! это не картинка"); return false; } else { document.write("картинка загружена"); } } ... Добавлено через 3 минуты: Хотя нет... так она не пропускает даже когда картинка есть картинка... Что я не так сделал? |
|
|