2013-02-13 2 views
0

Im пытаясь проверить расширение входных файлов с JavaScript, используя:правильный синтаксис JavaScript или синтаксис?

if(extension != 'jpeg, JPEG, JPG, jpg'){} 

Я хочу заявление читать логически: «если переменная расширение не равно JPEG или JPEG, или ..» и так далее

но это не работает, как я могу это правильно закодировать?

+7

Это ** Javascript **, а не jQuery. – SLaks

+2

сжимать чек, использовать toLowerCase()! – epascarello

ответ

2

Если вы не хотите использовать regex вы можете сделать что-то вроде:

extension = extension.toLowerCase(); 
if(extension != 'jpeg' && extension != 'jpg') 

Это будет также фильтровать расширения файлов, как JpEg.

+0

Почему бы вам не использовать регулярное выражение для этого? «Если вы не хотите использовать молоток, вы можете сбить камень с камнем». –

+0

Потому что хорошо ... почти никто не любит регулярное выражение: « – Cristy

0
if(extension != 'jpeg' || extension != 'JPEG' || extension != 'JPG' extension != 'jpg'){} 
+0

Это выражение всегда «истинно». Используйте 'and' вместо' or'. – Cristy

1
if(extension != 'jpeg'|| extension != 'JPEG' || extension != 'JPG' || extension !='jpg'){ 
    // would do the magic for you ;-)  
} 

Это простой javascript, а не jquery!

+1

Это выражение всегда« истинно ». Используйте и вместо или. – Cristy

0

Используя регулярное выражение здесь сделает вашу жизнь проще:

if (!extension.match(/^jpe?g$/i)) { 
    alert("Bad extension"); 
} 
1

Это немного чище, так как вы можете определить массив допустимых расширений в других местах.

if ($.inArray(extension.toLowerCase(), ["jpeg", "jpg"]) !== -1) { 
    // do something 
} 
Смежные вопросы