不让他输入,只能选择就肯定是有效的,至于必须是图片,只要在提交的时候判断下file的value是不是以图片后缀结尾就可以了
<input name=file1 type="file" onkeydown="return false" onpaste="return false" ondragenter="return false">
<input name=file1 type="file" onkeydown="return false" onpaste="return false" ondragenter="return false">
<input name="button1" type="button" onclick="check()" value="click"><script language=javascript>
function check()
{
var re=/\.(gif|jpg)$/i
if(re.test(document.getElementById("file1").value))
{
alert("有效")
}
else
{
alert("无效")
}
}
</script>
客户端的验证都是不准确的,如果伪造HTTP头那验证将没有,服务器端的验证必不可少,但是客户端的验证也要有,可以减少交互次数,节省服务器资源
这点比较重要,不知道js中new 一个image对象,如果不是img类型的,会不会捕捉到异常
<input name="button1" type="button" onclick="show()" value="click">
<img name="img1" style="display:none" >
<script language=javascript>
function check()
{
var str=document.getElementById("file1").value
var obj=document.getElementById("img1")
obj.src=str
}
function show()
{
if(document.getElementById("img1").fileSize==-1)
{
alert("选择的文件类型不对")
}
}
</script>