2013-02-13 64 views
0

我試着去檢查輸入的文件擴展名的JavaScript,使用:正確的JavaScript'或'語法?

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

我要聲明在邏輯上寫着:「如果變量擴展不等於JPEG或JPEG,或..」等等

但這不起作用,我該如何正確編碼?

+7

這是** Javascript **,而不是jQuery。 – SLaks 2013-02-13 22:06:34

+2

縮小檢查,使用toLowerCase()! – epascarello 2013-02-13 22:12:06

回答

2

如果你不想使用regex,你可以這樣做:

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

這也將過濾的文件擴展名狀JpEg

+0

爲什麼你不想使用正則表達式呢? 「如果你不想用錘子,你可以用磐石釘住那個釘子。」 – 2013-02-15 20:28:00

+0

因爲...幾乎沒有人喜歡正規表達式: - 「 – Cristy 2013-02-15 20:31:50

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

該表達式總是「真」。使用'和'而不是'或'。 – Cristy 2013-02-13 22:11:38

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

這很簡單的JavaScript不jQuery!

+1

該表達式總是」真「,使用而不是或。 – Cristy 2013-02-13 22:10:32

0

使用正則表達式,這裏將讓您的生活更輕鬆:

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

這是乾淨了一點,因爲你可以在其他地方定義可接受的擴展的陣列。

if ($.inArray(extension.toLowerCase(), ["jpeg", "jpg"]) !== -1) { 
    // do something 
}