Javascript控制文本框输入限制[转]

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代码中即可使用。】

  1. <script>  
  2. function regInput(obj, reg, inputStr)  
  3. {  
  4. var docSel = document.selection.createRange()  
  5. if (docSel.parentElement().tagName != "INPUT") return false  
  6. oSel = docSel.duplicate()  
  7. oSel.text = ""  
  8. var srcRange = obj.createTextRange()  
  9. oSel.setEndPoint("StartToStart", srcRange)  
  10. var str = oSel.text + inputStr + srcRange.text.substr(oSel.text.length)  
  11. return reg.test(str)  
  12. }  
  13. </script>  
<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.小写英文:

  1. <xmp style= "display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^[a-z]*$/, String.fromCharCode(event.keyCode))"  
  3. onpaste = "return regInput(this, /^[a-z]*$/, window.clipboardData.getData('Text'))"  
  4. ondrop = "return regInput(this, /^[a-z]*$/, event.dataTransfer.getData('Text'))"  
  5. 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>

3.大写英文:

  1. <xmp style= "display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^[A-Z]*$/, String.fromCharCode(event.keyCode))"  
  3. onpaste = "return regInput(this, /^[A-Z]*$/, window.clipboardData.getData('Text'))"  
  4. ondrop = "return regInput(this, /^[A-Z]*$/, event.dataTransfer.getData('Text'))"  
  5. style="ime-mode:Disabled">  
  6. <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>

4.任意数字:

  1. <xmp style="display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^[0-9]*$/, String.fromCharCode(event.keyCode))"  
  3. onpaste = "return regInput(this, /^[0-9]*$/, window.clipboardData.getData('Text'))"  
  4. ondrop = "return regInput(this, /^[0-9]*$/, event.dataTransfer.getData('Text'))"  
  5. 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>

5.限2位小数:

  1. <xmp style="display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^\d*\.?\d{0,2}$/,  
  3. String.fromCharCode(event.keyCode))"  
  4. onpaste = "return regInput(this, /^\d*\.?\d{0,2}$/,  
  5. window.clipboardData.getData('Text'))"  
  6. ondrop = "return regInput(this, /^\d*\.?\d{0,2}$/,  
  7. event.dataTransfer.getData('Text'))"  
  8. style="ime-mode:Disabled">  
<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.日  期:

  1. <xmp style="display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^\d{1,4}  ([-\/](\d{1,2}([-\/](\d{1,2})?)?)?)?$/,  String.fromCharCode(event.keyCode))"  
  3. onpaste = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}  ([-\/](\d{1,2})?)?)?)?$/,  window.clipboardData.getData('Text'))"  
  4. ondrop = "return regInput(this, /^\d{1,4}([-\/](\d{1,2}  ([-\/](\d{1,2})?)?)?)?$/,  event.dataTransfer.getData('Text'))"  
  5. style="ime-mode:Disabled">  
<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.任意中文

  1. <xmp style="display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^$/, String.fromCharCode(event.keyCode))"  
  3. onpaste = "return regInput(this, /^[\u4E00-\u9FA5]*$/,  window.clipboardData.getData('Text'))"  
  4. ondrop = "return regInput(this, /^[\u4E00-\u9FA5]*$/,  event.dataTransfer.getData('Text'))"><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>

8.部分英文:

  1. <xmp style="display:inline"> </xmp>  
  2. <input onkeypress = "return regInput(this, /^[a-e]*$/,String.fromCharCode(event.keyCode))"  
  3. onpaste = "return regInput(this, /^[a-e]*$/,window.clipboardData.getData('Text'))"  
  4. ondrop = "return regInput(this, /^[a-e]*$/,event.dataTransfer.getData('Text'))"  
  5. style="ime-mode:Disabled">  
<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 οnkeypress="return false"

   οnkeydοwn= "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.不能展开右键,不能全选,不能复制的实现

  1. <body οncοntextmenu="window.event.returnvalue=false"  
  2. οnkeypress="window.event.returnvalue=false"  
  3. οnkeydοwn="window.event.returnvalue=false"  
  4. οnkeyup="window.event.returnvalue=false"  
  5. οndragstart="window.event.returnvalue=false"  
  6. onselectstart="event.returnvalue=false">  
  7. ...  
<body οncοntextmenu="window.event.returnvalue=false" οnkeypress="window.event.returnvalue=false" οnkeydοwn="window.event.returnvalue=false" οnkeyup="window.event.returnvalue=false" οndragstart="window.event.returnvalue=false" onselectstart="event.returnvalue=false"> ...

  </body>

11.禁止页面正文内容被选取

  1. <body οncοntextmenu="return false" οndragstart="return false"  
  2. onselectstart ="return false" οnselect="document.selection.empty()"  
  3. οncοpy="document.selection.empty()" onbeforecopy="return false"οnmοuseup="document.selection.empty()">  
<body οncοntextmenu="return false" οndragstart="return false" onselectstart ="return false" οnselect="document.selection.empty()" οncοpy="document.selection.empty()" onbeforecopy="return false"οnmοuseup="document.selection.empty()">

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

  1. <script language=“javascript”><!--if (self!=top){top.location=self.location;}-->< /script>  


13.禁示查看源代码

  1. <frameset>  
  2. <frame src="你要保密的文件的URL">  
  3. </frameset>  
<frameset> <frame src="你要保密的文件的URL"> </frameset>

14.关闭输入法

  1. <input style="ime-mode:disabled">  

15.禁止图片下载
    在这里的最后加入:

  1. οncοntextmenu="return false" οndragstart="return false" onselectstart="return  
  2. false" scroll="auto"  
οncοntextmenu="return false" οndragstart="return false" onselectstart="return false" scroll="auto"

16.禁止缓存

  1. 在HEAD里加入:  
  2. <meta http-equiv="Expires" CONTENT="0">  
  3. <meta http-equiv="Cache-Control" CONTENT="no-cache">  
  4. <meta http-equiv="Pragma" CONTENT="no-cache">
 

 

转载于:https://www.cnblogs.com/delphinet/archive/2010/09/02/1815808.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值