DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計

          積分與排名

          好友之家

          最新評論

          javascript中的各種輸入限制

          1.文本框輸入限制

          實現(xiàn)限制輸入大、小寫英文,數(shù)字,浮點小數(shù),日期,中文,部分英文,部分中文等眾多功能。直接加入到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>

          任意數(shù)字:<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位小數(shù):<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.不能展開右鍵,不能全選,不能復(fù)制的實現(xiàn)

          <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.禁止頁面正文內(nèi)容被選取

          <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.避免別人把網(wǎng)頁放在框架中

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

          5.禁示查看源代碼

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

          6.關(guān)閉輸入法

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

          7.禁止圖片下載

          在這里的最后加入:

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

          posted on 2007-09-10 15:37 dreamstone 閱讀(4511) 評論(1)  編輯  收藏 所屬分類: 片段腳本語言javascript

          評論

          # re: javascript中的各種輸入限制 2007-09-10 18:50 編程、設(shè)計是職業(yè)更是愛好

          本來我是不贊成通過jscript控制user輸入的,不過簡單測了一下,還不錯,收下了。  回復(fù)  更多評論   

          主站蜘蛛池模板: 新民市| 辽源市| 安达市| 渭源县| 陈巴尔虎旗| 门头沟区| 松溪县| 宁远县| 香港 | 鄄城县| 德昌县| 保德县| 格尔木市| 油尖旺区| 普兰店市| 阳泉市| 象山县| 延吉市| 汶川县| 光山县| 江都市| 珲春市| 岳西县| 卓资县| 南投县| 巴彦淖尔市| 海阳市| 潜山县| 宕昌县| 株洲县| 旌德县| 合江县| 阿荣旗| 璧山县| 乐亭县| 建阳市| 资中县| 六枝特区| 莎车县| 新营市| 通化市|