大家好我正在使用一个函数来检测图像扩展名。
<body>
<input id="imgExtension" type="text" />
<input id="myFile" type="file" />
<script>
function checkExt(x){
var y = x.split('.').pop();
if (y != "jpg" && y != "png") {
return false;
}
else {
// i want to return *y*[image extension] from here
return true;
}
}
$(function(){
$("#myFile").change(function(){
var x = $(this).val;
if(checkExt(x)){
// i want to put [image extension] here in #imgExtension
$('#imgExtension').val();
}
else {
alert("Error, invalid image extension");
}
}
}
</script>
</body>
最近,我只是检查图片扩展名并返回 true 或 false ,但我也希望获得扩展名,因为我需要将其解析为我的PHP脚本
答案 0 :(得分:5)
除了返回true或false之外,您只能返回扩展名,如果根本没有扩展名,则返回null。
另一方面,你可以创建一个包含两个值的js对象,但我会选择第一个。
答案 1 :(得分:1)
返回多个值的最简单方法是返回一个对象。
return { value: true, extension: '.jpg' };
然后,您可以访问作为普通对象返回的值。
答案 2 :(得分:0)
你不能返回两件事(除非你使用数组)。我建议你返回扩展名或null。由于在JavaScript中称为falsfy,调用if(checkExt(x))将为null求值为false,对于jpg或png则为true。
答案 3 :(得分:0)
您不需要返回2个值。 checkExt可以正常工作,只需返回值,或者什么都不返回。做这样事情的最干净的方法是使用三元语句(谷歌它,易于学习,将节省你的生命时间)
function checkExt(x){
var y = x.split('.').pop();
return y != "jpg" && y != "png" ? false : y;
}