文章探索:   分类:    关键字:  
  + 栏目导航
  + 相关文章
document 对象
Window.Open详解
JS replace 方法
JScript 属性
JScript 对象
JScript 方法
关于window.opener的用法
JavaScript语法——style.display 属..
不被拦截的弹出窗口代码
showModalDialog和showModelessDialog..
showModelessDialog()使用详解
IE中非模式对话框(showModelessDialog..
JS eval()函数
Preferences 指南
JS中的setTimeout和setInterval的区别
JavaScript对象与数组参考大全
javascript动态增加、删除、填充表格..
用Java实现几种常见的排序算法
JavaScript 日期函数
JavaScript 使用字符串函数
如何用Javascript获得TextArea中的光..
Document 对象方法
在input中只能输入数字
selection.createRange() 用法例子
获取网页各种宽高的值
JavaScript方法 - indexOf方法
substring函数详解
40种网页常用小技巧(javascript)
event.X和event.clientX有什么区别
clientX, clientY,offsetX, offsetY,..


技术教程 -> JavaScript教程 ->  
网页制作,网页页面浏览限制实现总结
来源:网页教学网   人气:803   录入时间:2007-11-8
      1.文本框输入限制
   
     实现限制输入大、小写英文,数字,浮点小数,日期,中文,部分英文,部分中文等众多功能。直接加入到html代码中即可使用。
   
   <script>
   
   function regInput(obj, reg, inputStr)
   
   {
   
   var docSel = document.selection.createRange()
   
   if (docSel.parentElement().tagName != "INPUT") return false
   
   oSel = docSel.duplicate()
   
   oSel.text = ""
   
   var srcRange = obj.createTextRange()
   
   oSel.setEndPoint("StartToStart", srcRange)
   
   var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)
   
   return reg.test(str)
   
   }
   
   </script>
   小写英文:<xmp style= "display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData('Text'))"
   
   style="ime-mode:Disabled"
   
   ><br>
   大写英文:<xmp style= "display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData('Text'))"
   
   style="ime-mode:Disabled">
   
   <br>
   任意数字:<xmp style="display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData('Text'))"
   
   style="ime-mode:Disabled"
   
   ><br>
   限2位小数:<xmp style="display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^\d*\.?\d{0,2}$/, String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^\d*\.?\d{0,2}$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^\d*\.?\d{0,2}$/, event.dataTransfer.getData('Text'))"
   
   style="ime-mode:Disabled"
   
   > 如: 123.12<br>
   
   
   日  期:<xmp style="display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/,
   String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/,
   window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/,
   event.dataTransfer.getData('Text'))"
   
   style="ime-mode:Disabled"
   
   > 如: 2002-9-29<br>
   任意中文:<xmp style="display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^$/, String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^[\u4E00-\u9FA5]*$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^[\u4E00-\u9FA5]*$/, event.dataTransfer.getData('Text'))"
   
   ><br>
   部分英文:<xmp style="display:inline"> </xmp>
   
   <input onkeypress = "return regInput(this, /^[a-e]*$/, String.fromCharCode(event.keyCode))"
   
   onpaste = "return regInput(this, /^[a-e]*$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^[a-e]*$/, event.dataTransfer.getData('Text'))"
   
   style="ime-mode:Disabled"
   
   > 范围: a,b,c,d,e<br>
   部分中文:<xmp style="display:inline"> </xmp>
   <script language=javascript>
   
   function checkChinese(oldLength, obj)
   
   {
   
   var oTR = window.document.selection.createRange()
   
   var reg = /[^一二三四五六七八九十]/g
   
   oTR.moveStart("character", -1*(obj.value.length-oldLength))
   
   oTR.text = oTR.text.replace(reg, "")
   
   }
   
   </script>
   
   <input onkeypress="return false" onkeydown="setTimeout('checkChinese('+this.value.length+','+this.uniqueID+')',
   1)"
   
   onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData('Text'))"
   
   ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData('Text'))"
   
   > 范围: 一二三四五六七八九十<br>
   
   
     2.不能展开右键,不能全选,不能复制的实现
   <body oncontextmenu="window.event.returnValue=false"
   
   onkeypress="window.event.returnValue=false"
   
   onkeydown="window.event.returnValue=false"
   
   onkeyup="window.event.returnValue=false"
   
   ondragstart="window.event.returnValue=false"
   
   onselectstart="event.returnValue=false">
   ...
   
   </body>
   
    
     3.禁止页面正文内容被选取
   <body oncontextmenu="return false" ondragstart="return false"
   onselectstart ="return false" onselect="document.selection.empty()"
   oncopy="document.selection.empty()" onbeforecopy="return
   
   false"onmouseup="document.selection.empty()">
   
   
     4.避免别人把网页放在框架中
   <script language=“javascript”><!--if (self!=top){top.location=self.location;}-->< /script>
   
   
     5.禁示查看源代码
   <frameset>
   
   <frame src="你要保密的文件的URL">
   
   </frameset>
   
   
     6.关闭输入法
   <input style="ime-mode:disabled">
   
   
     7.禁止图片下载
     在<body......>这里的最后加入:
   oncontextmenu="return false" ondragstart="return false" onselectstart="return
   false" scroll="auto"
   
   
     8.禁止缓存
     在HEAD里加入:
   <meta http-equiv="Expires" CONTENT="0">
   
   <meta http-equiv="Cache-Control" CONTENT="no-cache">
   
   
   <meta http-equiv="Pragma" CONTENT="no-cache">
   




Copyright(C)2007-2024 广州市佳沛数码科技有限公司 版权所有
公司地址: 广州市荔湾区东漖北路560号511室
电话:020-81803473 传真:020-81544987