Javascript jQuery检查文件扩展名在IE中不起作用
我想上传一个文件,我想防止用户选择错误格式的文件。因此,我使用jQuery脚本来验证文件扩展名 这是输入Javascript jQuery检查文件扩展名在IE中不起作用,javascript,jquery,internet-explorer,file-upload,Javascript,Jquery,Internet Explorer,File Upload,我想上传一个文件,我想防止用户选择错误格式的文件。因此,我使用jQuery脚本来验证文件扩展名 这是输入 <input id="uploadCV" type="file" name="uploadCV" accept="application/pdf" /> 这段代码在Firefox上运行得很好,但在IE中却不行。这是因为在IE中,$(“#uploadCV”).val()中的文件名不包含扩展名,例如,它包含\directory\filename,而不是\directory\file
<input id="uploadCV" type="file" name="uploadCV" accept="application/pdf" />
这段代码在Firefox上运行得很好,但在IE中却不行。这是因为在IE中,$(“#uploadCV”).val()中的文件名不包含扩展名,例如,它包含\directory\filename
,而不是\directory\filename.pdf
以前有人遇到过这样的事情吗?有什么解决办法吗 我已经用IE9测试过了,现在没有IE8要测试,
此函数还考虑最后一个点,在您的解决方案中,如果文件名包含这样的点,则扩展名将是错误的。is.a.pdf.pdf
看看这把小提琴:
如果你需要进一步的帮助,请告诉我
问候
一月
这将允许在选择非pdf文件时显示警报,并在选择非pdf文件时清除选择。我使用IE8和IE9进行了检查
if ($("#uploadCV").val().split(".")[1].toUpperCase() == "PDF")
{
return true;
}
else{
return false;
}
$('#sendMe').click(function() {
var file = $("#uploadCV").val();
if (file.substr(file.lastIndexOf('.') +1).toUpperCase() == "PDF")
{
$('.result').html('valid');
}
else
{
$('.result').html('not valid');
}
});
<input id="uploadCV" type="file" name="uploadCV" accept="application/pdf" />
<div class="result"></div>
<input type="button" id="sendMe" value="send" />
$('#fileid').change(function (e) {
var ext = this.value.match(/\.(.+)$/)[1];
if(ext.toLowerCase() !== "pdf" )
{
alert("Only Pdf format supported");
e.preventDefault();
if ($.browser.msie) {
$('#fileid').replaceWith($('#').clone()); // This makes file selected to null in IE
}
else {
$('#fileid').val("");
}
}
});