JS 屏蔽代码大全
>
屏蔽功能类
1.1
屏蔽键盘所有键
<script language="javascript">
<!--
function document.onkeydown(){
event.keyCode = 0;
event.returnvalue = false;
}
-->
</script>
1.2
屏蔽鼠标右键
在
body
标签里加上
oncontextmenu=self.event.returnvalue=false
或者
<script language="javascript">
<!--
function document.oncontextmenu()
{
return false;
}
-->
</script>
function nocontextmenu()
{
if(document.all) {
event.cancelBubble=true;
event.returnvalue=false;
return false;
}
}
或者
<body onmousedown="rclick()" oncontextmenu= "nocontextmenu()">
<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 == 8) &&
(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;di
alogheight:1px");
return false;}
}
/*
另外可以用
window.open
的方法屏蔽
IE
的所有菜单
第一种方法:
window.open("
你的
.htm",
"","toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,re
sizable=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");
-->
方法一:
<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>