站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Javascript 专题互联网页面浏览限制实现总结

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

摘要: 互联网页面浏览限制实现总结
<textarea readonly style="border:none;font-family:Courier New;line-height:150%;width:760px;overflow-y:visible">

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>
小写英文:



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

>

大写英文:

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



任意数字:

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

>

限2位小数:

<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



日  期:

<input onkeypress = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/,
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

任意中文:

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

>

部分英文:

<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

部分中文:
<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+')',
onpaste = "return regInput(this, /^[一二三四五六七八九十]*$/, window.clipboardData.getData('Text'))"

ondrop = "return regInput(this, /^[一二三四五六七八九十]*$/, event.dataTransfer.getData('Text'))"

> 范围: 一二三四五六七八九十




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" oncopy="document.selection.empty()" onbeforecopy="return

false"onmouseup="document.selection.empty()">



4.避免别人把网页放在框架中

<script language=“javascript”>   

</td> </tr> </table> </textarea>
↑返回目录
前一篇: javaScript技巧(2):表单提交验证类
后一篇: 使用Javascript制作声音按钮