Javascript控制文本框输入限制[转]
<input
onkeypress="return event.keyCode>=48&&event.keyCode<=57||event.keyCode==46"
onpaste="return !clipboardData.getData('text').match(/\D/)"
ondragenter="return false"
style="ime-mode:Disabled"
>
说明
1 只能输入0到9和小数点
2 只能粘贴数字
3 不能拖动内容进来
4 禁止使用输入法
出处:【http://www.cnblogs.com/cloudgamer/】
js实现文本框输入限制
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>
2.小写英文:
- <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>
3.大写英文:
- <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>
4.任意数字:
- <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>
5.限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>
6.日 期:
- <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>
7.任意中文
- <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>
8.部分英文:
- <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>
9.部分中文:
<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>
10.不能展开右键,不能全选,不能复制的实现
- <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>
11.禁止页面正文内容被选取
- <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()">
12.避免别人把网页放在框架中
- <script language=“javascript”><!--if (self!=top){top.location=self.location;}-->< /script>
13.禁示查看源代码
- <frameset>
- <frame src="你要保密的文件的URL">
- </frameset>
14.关闭输入法
- <input style="ime-mode:disabled">
15.禁止图片下载
在这里的最后加入:
- oncontextmenu="return false" ondragstart="return false" onselectstart="return
- false" scroll="auto"
16.禁止缓存
- 在HEAD里加入:
- <meta http-equiv="Expires" CONTENT="0">
- <meta http-equiv="Cache-Control" CONTENT="no-cache">
- <meta http-equiv="Pragma" CONTENT="no-cache">