• 文本框输入限制正则


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

  • 相关阅读:
    【SQL】SQL Server登录常见问题
    【毒思】纪念我死去的爱情
    【毒思】化蝶双飞
    VS2013常用快捷键你敢不会?
    SSIS 更新变量
    一次SSIS Package的调试经历
    binary 和 varbinary 用法全解
    Execute SQL Task 第二篇:返回结果集
    OLEDB 命令转换组件的用法
    脚本组件的用法
  • 原文地址:https://www.cnblogs.com/MaxIE/p/803083.html
Copyright © 2020-2023  润新知