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

时间:2011-12-03 12:44:34

标签: javascript file validation

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

http://pastebin.com/GwE0aVaf - 这是第一个函数底部的IF语句。

提前致谢。

1 个答案:

答案 0 :(得分:2)

问题是在if语句中它总是 true 。你有:

if(fileName.lastIndexOf(".jpg") == -1 || fileName.lastIndexOf(".png") == -1)

其中一个将永远是真实的,因为整个表达都是真的。 可能你会想要使用AND(&& )代替OR( || )。

if(fileName.lastIndexOf(".jpg") == -1 && fileName.lastIndexOf(".png") == -1)

解决了中级问题,但这种类型的检查总是有问题,因为如果文件名是“c:\ sample.jpg.zip”,它将是有效的。

您应该使用 endsWith()函数或适当的Regex来验证扩展名是否在字符串的末尾。

请参阅endsWith in JavaScript