js 上传文件限制

<html>

	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<script type="text/javascript">
			var isIE = /msie/i.test(navigator.userAgent) && !window.opera;

			function fileChange(target, id) {
				var fileSize = 0;
				var filetypes = [".jpg", ".png", ".rar", ".txt", ".zip", ".doc", ".ppt", ".xls", ".pdf", ".docx", ".xlsx"];
				var filepath = target.value;
				var filemaxsize = 1024 * 2; //2M 

				if(filepath) {
					var isnext = false;
					var fileend = filepath.substring(filepath.indexOf("."));
					if(filetypes && filetypes.length > 0) {
						for(var i = 0; i < filetypes.length; i++) {
							if(filetypes[i] == fileend) {
								isnext = true;
								break;
							}
						}
					}
					if(!isnext) {
						alert("不接受此文件类型!");
						target.value = "";
						return false;
					}
				} else {
					return false;
				}
				if(isIE && !target.files) {
					var filePath = target.value;
					var fileSystem = new ActiveXObject("Scripting.FileSystemObject");
					if(!fileSystem.FileExists(filePath)) {
						alert("附件不存在,请重新输入!");
						return false;
					}
					var file = fileSystem.GetFile(filePath);
					fileSize = file.Size;
				} else {
					fileSize = target.files[0].size;
				}

				var size = fileSize / 1024;
				if(size > filemaxsize) {
					alert("附件大小不能大于" + filemaxsize / 1024 + "M!");
					target.value = "";
					return false;
				}
				if(size <= 0) {
					alert("附件大小不能为0M!");
					target.value = "";
					return false;
				}
			}
		</script>
	</head>

	<body>
		<input type="file" name="contractFileName" style="width: 500px;" onchange="fileChange(this);" />
	</body>

</html>

猜你喜欢

转载自blog.csdn.net/qiuyan_f/article/details/79218312
今日推荐