用javascript障蔽功能键
用javascript屏蔽功能键1.屏蔽功能类?script languagejavascript?!--?function rclick()?{?if(docum
用javascript屏蔽功能键
1.屏蔽功能类?
<script language="javascript">?
<!--?
function rclick()?
{?
if(document.all) {?
if (event.button == 2){?
event.returnvalue=false;?
}?
}?
}?
-->?
</script>?
1.3 屏蔽 Ctrl+N、Shift+F10、F5刷新、退格键?
<script language="javascript">?
<!--?
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键?
function window.onhelp(){return false} //屏蔽F1帮助?
function KeyDown(){?
if ((window.event.altKey)&&?
((window.event.keyCode==37)|| //屏蔽 Alt+ 方向键 ←?
(window.event.keyCode==39))){ //屏蔽 Alt+ 方向键 →?
alert("不准你使用ALT+方向键前进或后退网页!");?
event.returnvalue=false;?
}?
/* 注:这还不是真正地屏蔽 Alt+ 方向键,?
因为 Alt+ 方向键弹出警告框时,按住 Alt 键不放,?
用鼠标点掉警告框,这种屏蔽方法就失效了。以后若?
有哪位高手有真正屏蔽 Alt 键的方法,请告知。*/?
if ((event.keyCode ==
?&&?
(event.srcElement.type != "text" &&?
event.srcElement.type != "textarea" &&?
event.srcElement.type != "password") || //屏蔽退格删除键?
(event.keyCode ==116)|| //屏蔽 F5 刷新键?
(event.ctrlKey && event.keyCode==82)){ //Ctrl + R?
event.keyCode=0;?
event.returnvalue=false;?
}?
if ((event.ctrlKey)&&(event.keyCode==78)) //屏蔽 Ctrl+n?
event.returnvalue=false;?
if ((event.shiftKey)&&(event.keyCode==121)) //屏蔽 shift+F10?
event.returnvalue=false;?
if (window.event.srcElement.tagName == "A" && window.event.shiftKey)?
window.event.returnvalue = false; //屏蔽 shift 加鼠标左键新开一网页?
if ((window.event.altKey)&&(window.event.keyCode==115)){ //屏蔽Alt+F4?
window.showModelessDialog("about:blank","","dialogWidth:1px;dialogheight:1px");?
return false;}?
}?
/* 另外可以用 window.open 的方法屏蔽 IE 的所有菜单?
第一种方法:?
window.open("你的.htm", "","toolbar=no,location=no,directories= no,menubar=no,scrollbars=no,resizable=yes,status=no,top=0,left=0")?
第二种方法是打开一个全屏的页面:?
window.open("你的.asp", "", "fullscreen=yes")?
*/?
//-->?
</script>?
1.4屏蔽浏览器右上角“最小化”“最大化”“关闭”键?
<script language=javascript>?
function window.onbeforeunload()?
{?
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)?
{?
window.event.returnvalue = "";?
}?
}?
</script>?
或者使用全屏打开页面?
<script language="javascript">?
<!--?
window.open(www.32pic.com,"32pic","fullscreen=3,height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no");?
-->?
</script>?
注:在body标签里加上onbeforeunload="javascript:return false"(使不能关闭窗口)?
1.5屏蔽F5键?
<script language="javascript">?
<!--?
function document.onkeydown()?
{?
if ( event.keyCode==116)?
{?
event.keyCode = 0;?
event.cancelBubble = true;?
return false;?
}?
}?
-->?
</script>?
1.6屏蔽IE后退按钮?
在你链接的时候用 <a href="javascript:location.replace(url)">?
1.7屏蔽主窗口滚动条?
在body标签里加上 style="overflow-y:hidden"?
1.8 屏蔽拷屏,不断地清空剪贴板?
在body标签里加上onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"?
1.9 屏蔽网站的打印功能?
<style>?
@media print {?
* { display: none }?
}?
</style>?
1.10 屏蔽IE6.0 图片上自动出现的保存图标?
方法一:?
<META HTTP-EQUIV="imagetoolbar" CONTENT="no">?
方法二:?
<img galleryimg="no">?
1.11 屏蔽页中所有的script?
<noscrript></noscript>?
2.表单提交验证类?
2.1 表单项不能为空?
<script language="javascript">?
<!--?
function CheckForm()?
{?
if (document.form.name.value.length == 0) {?
alert("请输入您姓名!");?
document.form.name.focus();?
return false;?
}?
return true;?
}?
-->?
</script>?
2.2 比较两个表单项的值是否相同?
<script language="javascript">?
<!--?
function CheckForm()?
if (document.form.PWD.value != document.form.PWD_Again.value) {?
alert("您两次输入的密码不一样!请重新输入.");?
document.ADDUser.PWD.focus();?
return false;?
}?
return true;?
}?
-->?
</script>?
2.3 表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等?
<script language="javascript">?
<!--?
function isNumber(String)?
{?
var Letters = "1234567890-"; //可以自己增加可输入值?
var i;?
var c;?
if(String.charAt( 0 )=='-')?
return false;?
if( String.charAt( String.length - 1 ) == '-' )?
return false;?
for( i = 0; i < String.length; i ++ )?
{?
c = String.charAt( i );?
if (Letters.indexOf( c ) < 0)?
return false;?
}?
return true;?
}?
function CheckForm()?
{?
if(! isNumber(document.form.TEL.value)) {?
alert("您的电话号码不合法!");?
document.form.TEL.focus();?
return false;?
}?
return true;?
}?
-->?
</script>?
2.4 表单项输入数值/长度限定?
<script language="javascript">?
<!--?
function CheckForm()?
{?
if (document.form.count.value > 100 || document.form.count.value < 1)?
{?
alert("输入数值不能小于零大于100!");?
document.form.count.focus();?
return false;?
}?
if (document.form.MESSAGE.value.length<10)?
{?
alert("输入文字小于10!");?
document.form.MESSAGE.focus();?
return false;?
}?
return true;?
}?
//-->?
</script>?
2.5 中文/英文/数字/邮件地址合法性判断?
<SCRIPT LANGUAGE="javascript">?
<!--?
function isEnglish(name) //英文值检测?
{?
if(name.length == 0)?
return false;?
for(i = 0; i < name.length; i++) {?
if(name.charCodeAt(i) > 128)?
return false;?
}?
return true;?
}?
function isChinese(name) //中文值检测?
{?
if(name.length == 0)?
return false;?
for(i = 0; i < name.length; i++) {?
if(name.charCodeAt(i) > 128)?
return true;?
}?
return false;?
}?
function isMail(name) // E-mail值检测?
{?
if(! isEnglish(name))?
return false;?
i = name.indexOf("@");?
j = name.lastIndexOf("@");?
if(i == -1)?
return false;?
if(i != j)?
return false;?
if(i == name.length)?
return false;?
return true;?
}?
function isNumber(name) //数值检测?
{?
if(name.length == 0)?
return false;?
for(i = 0; i < name.length; i++) {?
if(name.charAt(i) < "0" || name.charAt(i) > "9")?
return false;?
}?
return true;?
}?
function CheckForm()?
{?
if(! isMail(form.Email.value)) {?
alert("您的电子邮件不合法!");?
form.Email.focus();?
return false;?
}?
if(! isEnglish(form.name.value)) {?
alert("英文名不合法!");?
form.name.focus();?
return false;?
}?
if(! isChinese(form.cnname.value)) {?
alert("中文名不合法!");?
form.cnname.focus();?
return false;?
}?
if(! isNumber(form.PublicZipCode.value)) {?
alert("邮政编码不合法!");?
form.PublicZipCode.focus();?
return false;?
}?
return true;?
}?
//-->?
</SCRIPT>?
2.6 限定表单项不能输入的字符?
<script language="javascript">?
<!--?
function contain(str,charset)// 字符串包含测试函数?
{?
var i;?
for(i=0;i<charset.length;i++)?
if(str.indexOf(charset.charAt(i))>=0)?
return true;?
return false;?
}?
function CheckForm()?
{?
if ((contain(document.form.NAME.value, "%\(\)><")) || (contain(document.form.MESSAGE.value, "%\(\)><")))?
{?
alert("输入了非法字符");?
document.form.NAME.focus();?
return false;?
}?
return true;?
}?
//-->?
</script>??
可用于Table 2. 取消选取、防止复制 javascript技巧 3. onpaste="return false" 不准粘贴技巧 4. oncopy="return false;" oncut="return false;" 防止复制的javascirpt特效
?
?