网站开发中经常用到的javaScript技术

    技术2022-05-11  130

    1 >屏蔽功能类

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

    1.2 屏蔽鼠标右键

    在body标签里加上οncοntextmenu=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 οnmοusedοwn="rclick()" οncοntextmenu= "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;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标签里加上οnbefοreunlοad="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标签里加上οnlοad="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>

     补充:

    //****************************************************************//* 名  称:DataLength//* 功    能:计算数据的长度//* 入口参数:fData:需要计算的数据//* 出口参数:返回fData的长度(Unicode长度为2,非Unicode长度为1)//*****************************************************************function DataLength(fData){    var intLength=0    for (var i=0;i<fData.length;i++)    {        if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))            intLength=intLength+2        else            intLength=intLength+1        }    return intLength}

    //****************************************************************//* 名  称:DataLength//* 功    能:计算数据的长度//* 入口参数:fData:需要计算的数据//* 出口参数:返回fData的长度(Unicode长度为2,非Unicode长度为1)//*****************************************************************function DataLength(fData){    var intLength=0    for (var i=0;i<fData.length;i++)    {        if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))            intLength=intLength+2        else            intLength=intLength+1        }    return intLength}

    //****************************************************************//* 名  称:IsEmpty//* 功    能:判断是否为空//* 入口参数:fData:要检查的数据//* 出口参数:True:空                              //*           False:非空//*****************************************************************function IsEmpty(fData){    return ((fData==null) || (fData.length==0) )}

    //****************************************************************//* 名  称:IsDigit//* 功    能:判断是否为数字//* 入口参数:fData:要检查的数据//* 出口参数:True:是0到9的数字                              //*           False:不是0到9的数字 //*****************************************************************function IsDigit(fData){    return ((fData>="0") && (fData<="9"))}

    //****************************************************************//* 名  称:IsInteger//* 功    能:判断是否为正整数//* 入口参数:fData:要检查的数据//* 出口参数:True:是整数,或者数据是空的                            //*           False:不是整数//*****************************************************************function IsInteger(fData){    //如果为空,返回true    if (IsEmpty(fData))        return true    if ((isNaN(fData)) || (fData.indexOf(".")!=-1) || (fData.indexOf("-")!=-1))        return false            return true    }

    //****************************************************************//* 名  称:IsEmail//* 功    能:判断是否为正确的Email地址//* 入口参数:fData:要检查的数据//* 出口参数:True:正确的Email地址,或者空                              //*           False:错误的Email地址//*****************************************************************function IsEmail(fData){    if (IsEmpty(fData))        return true    if (fData.indexOf("@")==-1)        return false    var NameList=fData.split("@");    if (NameList.length!=2)        return false      if (NameList[0].length<1 )        return false       if (NameList[1].indexOf(".")<=0)        return false     if (fData.indexOf("@")>fData.indexOf("."))  return false    if (fData.indexOf(".")==fData.length-1) return false        return true    }

    //****************************************************************//* 名  称:IsPhone//* 功    能:判断是否为正确的电话号码(可以含"()"、"()"、"+"、"-"和空格)//* 入口参数:fData:要检查的数据//* 出口参数:True:正确的电话号码,或者空                              //*           False:错误的电话号码//* 错误信息://*****************************************************************function IsPhone(fData){    var str;    var fDatastr="";    if (IsEmpty(fData))        return true    for (var i=0;i<fData.length;i++)    {        str=fData.substring(i,i+1);        if (str!="(" && str!=")" && str!="(" && str!=")" && str!="+" && str!="-" && str!=" ")           fDatastr=fDatastr+str;    }      //alert(fDatastr);      if (isNaN(fDatastr))        return false     return true    }

    //****************************************************************//* 名  称:IsPlusNumeric//* 功    能:判断是否为正确的正数(可以含小数部分)//* 入口参数:fData:要检查的数据//* 出口参数:True:正确的正数,或者空                              //*           False:错误的正数//* 错误信息://*****************************************************************function IsPlusNumeric(fData){    if (IsEmpty(fData))        return true    if ((isNaN(fData)) || (fData.indexOf("-")!=-1))        return false     return true    }

    //****************************************************************//* 名  称:IsNumeric//* 功    能:判断是否为正确的数字(可以为负数,小数)//* 入口参数:fData:要检查的数据//* 出口参数:True:正确的数字,或者空                              //*           False:错误的数字//* 错误信息://*****************************************************************function IsNumeric(fData){    if (IsEmpty(fData))        return true    if (isNaN(fData))        return false            return true    }

    //****************************************************************//* 名  称:IsIntegerInRange//* 功    能:判断一个数字是否在指定的范围内//* 入口参数:fInput:要检查的数据//*           fLower:检查的范围下限,如果没有下限,请用null//*           fHigh:检查的上限,如果没有上限,请用null//* 出口参数:True:在指定的范围内                              //*           False:超出指定范围//*****************************************************************function IsIntegerInRange(fInput,fLower,fHigh){    if (fLower==null)        return (fInput<=fHigh)    else if (fHigh==null)        return (fInput>=fLower)     else                 return ((fInput>=fLower) && (fInput<=fHigh))}


    最新回复(0)