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

    任意数字:<xmp > </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'))"
    ><br>

    限2位小数:<xmp > </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'))"
    >

    如: 123.12<br>

    日  期:<xmp > </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'))"

    >

    如: 2002-9-29<br>

    任意中文:<xmp > </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 > </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'))"

    >

    范围: a,b,c,d,e<br>

    部分中文:<xmp > </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 >

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

  • 相关阅读:
    20080408 VS2003 中 Jscript 文件中文乱码问题
    20080330 single process memory on Windows and Windows virtual memory
    20080331 Corillian's product is a Component Container Name at least 3 component containers that ship now with the Windows Server Family
    20080330 the difference between an EXE and a DLL
    20080408 Javascript中的字符串替换replaceG
    20080501 修复Windows Update 自动更新
    20080331 How many processes can listen on a single TCPIP port
    20080329 What is a Windows Service and how does its lifecycle differ from a standard EXE
    20080407 Fire in the hole
    20080328 Adobe Launches Webbased Photoshop Express
  • 原文地址:https://www.cnblogs.com/zhouwenwu/p/2424403.html
Copyright © 2020-2023  润新知