互联网页面浏览限制实现总结

转载 2006年06月13日 13:32:00

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">

相关文章推荐

js 实现 页面访问时间限制

  • 2010年03月30日 14:54
  • 1KB
  • 下载

解决:由于Web服务器上的“ISAPI”和“CGI限制”列表设置,无法提供您所请求的页面

最近新换的电脑重新安装的环境 结果IIS上fa

dwcs4一些很有用的页面限制代码

  • 2011年12月13日 19:43
  • 43KB
  • 下载

使用JS和CSS限制页面显示的字符长度

首页 首页 投稿 投稿 ...

项目cookie优化之cookie数量限制和多页面共享污染数据问题(个人项目经验)

在web项目开发过程中,会有页面的跳转,部分跳转需要加载数据,这里就存在不同的解决方案,其中之一就是cookie携带参数到跳转的页面。其他的解决方案只做思想的说明,不详细说明,cookie方式实现将在...

如何「掏空」小程序的五层页面限制?| 技术宝典

知晓程序注: 很多开发者在面对小程序的五层页面限制时,内心大概都是崩溃的。 不用慌,知晓程序(微信号 zxcx0101)今天用这篇文章来告诉你们,怎样狠狠把这五层页面榨干。 微信...
  • Minapp
  • Minapp
  • 2016年12月14日 18:33
  • 167

JS在页面限制checkbox最大复选数

应该是挺简单的代码, 记录以下, 方便以后看看. 首先最直接的想法就是使用循环, 用局部变量记录已选的checkbox, 达到最大值就将余下的checkbox都禁止选择, 如下: JS限制...
  • stzy00
  • stzy00
  • 2015年07月16日 10:22
  • 761

javaweb中添加过滤器,限制访问某些页面

问题: 在javaweb开发中,

如何限制电脑PC端访问Web页面,只能手机端才能访问

如何限制电脑PC端访问Web页面,只能手机端才能访问开发中遇到什么学习什么: 现在就需要一个链接 电脑不能访问,只有手机端才可以 其实没有你想象的难,一个js就搞定了 不说了上代码在手机端浏览的页面上...
  • xyzz609
  • xyzz609
  • 2017年04月21日 11:05
  • 1567
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:互联网页面浏览限制实现总结
举报原因:
原因补充:

(最多只允许输入30个字)