表单提交验证类

时间:2021-05-18

>屏蔽功能类

1.1屏蔽键盘所有键
<scriptlanguage="javascript">
<!--
functiondocument.onkeydown(){
event.keyCode=0;
event.returnvalue=false;
}
-->
</script>

1.2屏蔽鼠标右键

在body标签里加上oncontextmenu=self.event.returnvalue=false

或者

<scriptlanguage="javascript">
<!--
functiondocument.oncontextmenu()
{
returnfalse;
}
-->
</script>

functionnocontextmenu()
{
if(document.all){
event.cancelBubble=true;
event.returnvalue=false;
returnfalse;
}
}

或者

<bodyonmousedown="rclick()"oncontextmenu="nocontextmenu()">

<scriptlanguage="javascript">
<!--
functionrclick()
{
if(document.all){
if(event.button==2){
event.returnvalue=false;
}
}
}
-->
</script>


1.3屏蔽Ctrl+N、Shift+F10、F5刷新、退格键

<scriptlanguage="javascript">
<!--
//屏蔽鼠标右键、Ctrl+N、Shift+F10、F5刷新、退格键
functionwindow.onhelp(){returnfalse}//屏蔽F1帮助
functionKeyDown(){
if((window.event.altKey)&&
((window.event.keyCode==37)||//屏蔽Alt+方向键←
(window.event.keyCode==39))){//屏蔽Alt+方向键→
alert("不准你使用ALT+方向键前进或后退网页!");
event.returnvalue=false;
}



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;dialogheight:1px");
returnfalse;}
}

//-->
</script>

1.4屏蔽浏览器右上角“最小化”“最大化”“关闭”键

<scriptlanguage=javascript>
functionwindow.onbeforeunload()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
window.event.returnvalue="";
}
}
</script>

或者使用全屏打开页面

<scriptlanguage="javascript">
<!--
window.open(,"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:returnfalse"(使不能关闭窗口)

1.5屏蔽F5键

<scriptlanguage="javascript">
<!--
functiondocument.onkeydown()
{
if(event.keyCode==116)
{
event.keyCode=0;
event.cancelBubble=true;
returnfalse;
}
}
-->
</script>

1.6屏蔽IE后退按钮

在你链接的时候用<ahref="javascript:location.replace(url)">

1.7屏蔽主窗口滚动条

在body标签里加上style="overflow-y:hidden"

1.8屏蔽拷屏,不断地清空剪贴板

在body标签里加上onload="setInterval('clipboardData.setData(\'Text\',\'\')',100)"

1.9屏蔽网站的打印功能

<style>
@mediaprint{
*{display:none}
}
</style>

1.10屏蔽IE6.0图片上自动出现的保存图标

方法一:
<METAHTTP-EQUIV="imagetoolbar"CONTENT="no">
方法二:
<imggalleryimg="no">

1.11屏蔽页中所有的script

<noscrript></noscript>

<scriptlanguage="javascript">
<!--
functionCheckForm()
{
if(document.form.name.value.length==0){
alert("请输入您姓名!");
document.form.name.focus();
returnfalse;
}
returntrue;
}
-->
</script>

2.2比较两个表单项的值是否相同

<scriptlanguage="javascript">
<!--
functionCheckForm()
if(document.form.PWD.value!=document.form.PWD_Again.value){
alert("您两次输入的密码不一样!请重新输入.");
document.ADDUser.PWD.focus();
returnfalse;
}
returntrue;
}
-->
</script>

2.3表单项只能为数字和"_",用于电话/银行帐号验证上,可扩展到域名注册等

<scriptlanguage="javascript">
<!--
functionisNumber(String)
{
varLetters="1234567890-";//可以自己增加可输入值
vari;
varc;
if(String.charAt(0)=='-')
returnfalse;
if(String.charAt(String.length-1)=='-')
returnfalse;
for(i=0;i<String.length;i++)
{
c=String.charAt(i);
if(Letters.indexOf(c)<0)
returnfalse;
}
returntrue;
}
functionCheckForm()
{
if(!isNumber(document.form.TEL.value)){
alert("您的电话号码不合法!");
document.form.TEL.focus();
returnfalse;
}
returntrue;
}
-->
</script>


2.4表单项输入数值/长度限定

<scriptlanguage="javascript">
<!--
functionCheckForm()
{
if(document.form.count.value>100||document.form.count.value<1)
{
alert("输入数值不能小于零大于100!");
document.form.count.focus();
returnfalse;
}
if(document.form.MESSAGE.value.length<10)
{
alert("输入文字小于10!");
document.form.MESSAGE.focus();
returnfalse;
}
returntrue;
}
//-->
</script>

2.5中文/英文/数字/邮件地址合法性判断

<SCRIPTLANGUAGE="javascript">
<!--

functionisEnglish(name)//英文值检测
{
if(name.length==0)
returnfalse;
for(i=0;i<name.length;i++){
if(name.charCodeAt(i)>128)
returnfalse;
}
returntrue;
}

functionisChinese(name)//中文值检测
{
if(name.length==0)
returnfalse;
for(i=0;i<name.length;i++){
if(name.charCodeAt(i)>128)
returntrue;
}
returnfalse;
}

functionisMail(name)//E-mail值检测
{
if(!isEnglish(name))
returnfalse;
i=name.indexOf("@");
j=name.lastIndexOf("@");
if(i==-1)
returnfalse;
if(i!=j)
returnfalse;
if(i==name.length)
returnfalse;
returntrue;
}

functionisNumber(name)//数值检测
{
if(name.length==0)
returnfalse;
for(i=0;i<name.length;i++){
if(name.charAt(i)<"0"||name.charAt(i)>"9")
returnfalse;
}
returntrue;
}

functionCheckForm()
{
if(!isMail(form.Email.value)){
alert("您的电子邮件不合法!");
form.Email.focus();
returnfalse;
}
if(!isEnglish(form.name.value)){
alert("英文名不合法!");
form.name.focus();
returnfalse;
}
if(!isChinese(form.cnname.value)){
alert("中文名不合法!");
form.cnname.focus();
returnfalse;
}
if(!isNumber(form.PublicZipCode.value)){
alert("邮政编码不合法!");
form.PublicZipCode.focus();
returnfalse;
}
returntrue;
}
//-->
</SCRIPT>

2.6限定表单项不能输入的字符

<scriptlanguage="javascript">
<!--

functioncontain(str,charset)//字符串包含测试函数
{
vari;
for(i=0;i<charset.length;i++)
if(str.indexOf(charset.charAt(i))>=0)
returntrue;
returnfalse;
}

functionCheckForm()
{
if((contain(document.form.NAME.value,"%\(\)><"))||(contain(document.form.MESSAGE.value,"%\(\)><")))
{
alert("输入了非法字符");
document.form.NAME.focus();
returnfalse;
}
returntrue;
}
//-->
</script>

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章