JavaScript:验证表单字段(图像扩展)

JavaScript:验证表单字段(图像扩展),javascript,file,validation,Javascript,File,Validation,我正在尝试验证输入type=“file”字段的文件扩展名。但即使我上传了一个正确的文件,它也会给我错误。我读过W3Schools和其他网站,我看不出我的代码有什么问题: -它是第一个函数底部的IF语句 提前感谢。问题是,在if语句中,它始终是真的。你得到: if(fileName.lastIndexOf(".jpg") == -1 || fileName.lastIndexOf(".png") == -1) 其中一个永远是真的,它使整个表达都是真的。 您可能希望使用AND(&&)而不是OR(|

我正在尝试验证输入type=“file”字段的文件扩展名。但即使我上传了一个正确的文件,它也会给我错误。我读过W3Schools和其他网站,我看不出我的代码有什么问题:

-它是第一个函数底部的IF语句


提前感谢。

问题是,在if语句中,它始终是真的。你得到:

if(fileName.lastIndexOf(".jpg") == -1 || fileName.lastIndexOf(".png") == -1)
其中一个永远是真的,它使整个表达都是真的。 您可能希望使用AND(&&)而不是OR(|

解决了imediate问题,但是这种类型的检查总是错误的,因为如果文件名类似于“c:\sample.jpg.zip”,那么它将是有效的

您应该使用endsWith()函数或适当的正则表达式验证扩展名是否位于字符串末尾


更多信息请访问。

非常感谢,我觉得自己很愚蠢。我想我现在需要睡觉了。
if(fileName.lastIndexOf(".jpg") == -1 && fileName.lastIndexOf(".png") == -1)