Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 你的手机坏了_Javascript_Jquery_.net - Fatal编程技术网

Javascript 你的手机坏了

Javascript 你的手机坏了,javascript,jquery,.net,Javascript,Jquery,.net,我在asp.net中使用了html文件上载控件,尝试在脚本块中限制文件扩展名。对于固定文件扩展名(.pdf、.txt、.doc、.docx、.xls、.xlsx、.eml、.msg)在inaray中,它可以正常工作。在数组变量(array1)中检查同一个时,它不起作用 代码: var AllowedFileExtensions = ".pdf,.txt,.doc,.docx,.xls,.xlsx,.eml,.msg"; var array1 = new Array(); array1 = All

我在
asp.net
中使用了html文件上载控件,尝试在脚本块中限制文件扩展名。对于固定文件扩展名
(.pdf、.txt、.doc、.docx、.xls、.xlsx、.eml、.msg)
inaray
中,它可以正常工作。在数组变量
(array1)
中检查同一个时,它不起作用

代码:

var AllowedFileExtensions = ".pdf,.txt,.doc,.docx,.xls,.xlsx,.eml,.msg";
var array1 = new Array();
array1 = AllowedFileExtensions.split(",");
for (var i = 0; i < array1.length; i++) {
    array1[i] = "'" + array1[i] + "'";
}

var ext = $('#fileDocUpload').val().split('.').pop().toLowerCase();
ext = '.' + ext;

alert([array1]); // it throws the text = '.pdf','.txt','.doc','.docx','.xls','.xlsx','.eml','.msg'
alert(ext); // .pdf
此代码不起作用:

if ($.inArray(ext.toString, array1) == -1) {
     alert('invalid extension!');
     return false 
}

这是因为您正在修改数组1,以便在每个值中添加额外的引号。将数组修改为:

["'.pdf'", "'.txt'", "'.doc'", "'.docx'", "'.xls'", "'.xlsx'", "'.eml'", "'.msg'"]
您不需要将值用引号括起来
.split()
将在此处将值转换为数组时处理它:

var array1 = AllowedFileExtensions.split(",");
if ($.inArray(ext.toString, array1) == -1) {
    alert('invalid extension!');
    return false 
}

你不需要
array1[i]=“'”+array1[i]+“'”
,你只需使用
AllowedFileExtensions.split(“,”).indexOf(ext.toString)==-1
@Satpal,我已经尝试过了,但没有效果,因此,只有我尝试在这些..@bgs之间添加引号:
ext.toString
?ext.toString=.pdf的值是多少@MilindAnantwar@bgs:出于好奇,应该可以工作:$.inArray()是否处理案例?如果上传一个以.PDF结尾的文件,它会被拒绝吗?是的,它会被拒绝。您只需要从url获取扩展名,然后在
inArray
中使用它,没关系,它在实际问题中是正确的。只是在你的回答中看不到。一切都好:)
var array1 = AllowedFileExtensions.split(",");
if ($.inArray(ext.toString, array1) == -1) {
    alert('invalid extension!');
    return false 
}