2013-02-13 35 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 
}