我有一些代码可以检查上传的文件格式类型。我只想允许tiff或jpeg文件,所以如果试图上传任何其他文件,则显示警告信息
$(document).ready(function () {
$("#fuUpload").change(function () {
var fileExtension = ['jpeg', 'tiff'];
if ($.inArray($(this).val().split('.').pop().toLowerCase(), fileExtension) == -1) {
alert("Only formats allowed are: " + fileExtension.join(', '));
}
});
});
问题在于此代码即使正在上传正确的文件,它也会显示警报。如果文件不是tiff或jpeg,我只希望显示警报。
答案 0 :(得分:1)
将您的if条件更改为:
if(!(fileExtension.indexOf($(this).val().split('.').pop().toLowerCase()) > -1))
或强>
if(!($.inArray($(this).val().split('.').pop().toLowerCase(),fileExtension) >-1))
演示一
var fileExtension = ['jpeg', 'tiff'];
function MyFunc(e){
if(!(fileExtension.indexOf(e.split('.').pop().toLowerCase()) > -1)){
alert('Format Not Accepted');
}else{
alert("This Format Is Okay!");
}
}

<button value="image.tiff" onclick="MyFunc(this.value);">Image.tiff</button>
<button value="image.gif" onclick="MyFunc(this.value);">Image.<b>gif</b></button>
<button value="image.jpeg" onclick="MyFunc(this.value);">Image.jpeg</button>
&#13;
演示二
var fileExtension = ['jpeg', 'tiff'];
function MyFunc(e){
if(!($.inArray(e.split('.').pop().toLowerCase(),fileExtension) >-1)){
alert("Only formats allowed are: " + fileExtension.join(', '));
}
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<button value="image.tiff" onclick="MyFunc(this.value);">Image.tiff</button>
<button value="image.gif" onclick="MyFunc(this.value);">Image.<b>gif</b></button>
<button value="image.jpeg" onclick="MyFunc(this.value);">Image.jpeg</button>
&#13;
如果您对上述源代码有任何疑问,请在下面留言。
我希望这会有所帮助。快乐的编码!