zoukankan      html  css  js  c++  java
  • 文本输入限制 PENGHAO

    <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> 
  • 相关阅读:
    POJ-2478 Farey Sequence(欧拉函数)
    BZOJ-1103: [POI2007]大都市meg(树状数组)
    NOIP2016模拟 星际争霸(二分)
    HDU-1222 Wolf and Rabbit (欧几里得定理)
    POJ-2689 Prime Distance(线性筛法)
    FZU-2134 上车(树状数组)
    FZU-2236 第十四个目标(树状数组)
    2016年11月12日00:14:27
    FZU-1921 栀子花开(线段树)
    BZOJ3132 上帝造题的七分钟
  • 原文地址:https://www.cnblogs.com/Dove/p/185580.html
Copyright © 2011-2022 走看看