DANCE WITH JAVA

          開發出高質量的系統

          常用鏈接

          統計

          積分與排名

          好友之家

          最新評論

          javascript中的各種輸入限制

          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.禁止圖片下載

          在這里的最后加入:

          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 閱讀(4496) 評論(1)  編輯  收藏 所屬分類: 片段腳本語言javascript

          評論

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

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

          主站蜘蛛池模板: 仙游县| 同江市| 缙云县| 苗栗县| 平果县| 上杭县| 彰化市| 田阳县| 汤阴县| 雅安市| 乡宁县| 喀喇沁旗| 永州市| 车险| 福鼎市| 分宜县| 甘谷县| 开远市| 湾仔区| 永胜县| 海晏县| 扎囊县| 德惠市| 托克逊县| 塔城市| 乐至县| 郓城县| 东乡县| 体育| 百色市| 方山县| 黎川县| 黎平县| 慈利县| 呼和浩特市| 浪卡子县| 邢台县| 沅陵县| 永兴县| 云安县| 凤冈县|