javascript 限制输入和粘贴(IE,firefox测试通过)
window["MzBrowser"] ={};
(function()
{
if(MzBrowser.platform) return;
var ua = window.navigator.userAgent;
MzBrowser.platform = window.navigator.platform;
MzBrowser.firefox = ua.indexOf("Firefox") > 0;
MzBrowser.opera = typeof(window.opera) == "object";
MzBrowser.ie = ! MzBrowser.opera && ua.indexOf("MSIE") > 0;
MzBrowser.mozilla = window.navigator.product == "Gecko";
MzBrowser.netscape = window.navigator.vendor == "Netscape";
MzBrowser.safari = ua.indexOf("Safari") > - 1;
if(MzBrowser.firefox) var re = /Firefox(\s|\/)(\d+(\.\d+)?)/;
else if(MzBrowser.ie) var re = /MSIE( )(\d+(\.\d+)?)/;
else if(MzBrowser.opera) var re = /Opera(\s|\/)(\d+(\.\d+)?)/;
else if(MzBrowser.netscape) var re = /Netscape(\s|\/)(\d+(\.\d+)?)/;
else if(MzBrowser.safari) var re = /Version(\/)(\d+(\.\d+)?)/;
else if(MzBrowser.mozilla) var re = /rv(\:)(\d+(\.\d+)?)/;
if("undefined" != typeof(re) && re.test(ua))
MzBrowser.version = parseFloat(RegExp.$2);
}
)();
function upLoadKey(e, object)
{
if((document.all) ? true : false)
{
window.event.keyCode == 9 ? (window.event.returnValue = true) : (window.event.returnValue = false);
}
else
{
if(object.value == "" && typeof e.which == "number")e.preventDefault();
if(object.value != "") object.blur();
}
}
function version(object)
{
if(MzBrowser.firefox && MzBrowser.version == 2)object.blur();
}
function clearValue(id)
{
var up = (typeof id == "string") ? document.getElementById(id) : id;
if (typeof up != "object") return null;
var tt = document.createElement("span");
tt.id = "__tt__";
up.parentNode.insertBefore(tt, up);
var tf = document.createElement("form");
tf.appendChild(up);
document.getElementsByTagName("body")[0].appendChild(tf);
tf.reset();
tt.parentNode.insertBefore(up, tt);
tt.parentNode.removeChild(tt);
tt = null;
tf.parentNode.removeChild(tf);
}
<html>
<head>
<script language="javascript" src="upLoad.js"></script>
</head>
<body>
<input name="textfield3" type="file" class="input" id="textfield3" size="30" value="" ondrag="return false;" oncut="return false;" onkeydown="upLoadKey(event,this);" onpaste="return false;" onmousedown="document.oncontextmenu = function() { return false;}" onmouseout="document.oncontextmenu = function() { return true;};version(this);" tabIndex = -1/> <input type="button" id="clear" value="清 空" onclick="clearValue('textfield3');"/>
</body>
</html>