限制文本框输入的格式,长度等 //关键字:onkeypress,onkeyup。。。envent.code .onchange

来源:互联网 发布:2015年乡村旅游数据 编辑:程序博客网 时间:2024/05/17 02:30

1.创建基本的js 正则
<script type="text/javascript" >
    function check(id) {
        var hh = txt;
        var abc = /^/d$/gi;  //这种写法比较好.   或者  var abc=new RegExp("XXXX");
        if (abc.test(document.getElementById(id).value))
            alert("格式正确");
        else
            alert('格式不正确');

    }
</script>

 

 

 

2.限制最长输入多少字节,多了就去掉。
   <script type="text/javascript" >
 
    function CutStrLength(str,Ilength)
    {
        var tmp=0;
        var len=0;
        var okLen=0
        for(var i=0;i<Ilength;i++)
        {
            if(str.charCodeAt(i)>255)
                tmp+=2
            else
                len+=1
            okLen+=1
            if(tmp+len==Ilength)
            {
                return (str.substring(0,okLen));
                break;
            }
            if(tmp+len>Ilength)
            {
                return (str.substring(0,okLen-1)+"");
                break;
            }
        }
    }
    function checkFieldLength(fieldName,fieldDesc,fieldLength)
    {
        var str=document.getElementById(fieldName).value;
        var theLen=0;
        var teststr='';
        for(i=0;i<str.length;i++)
        {
            teststr=str.charAt(i);
            if(str.charCodeAt(i)>255)
            theLen=theLen+2;
            else
            theLen=theLen+1;
        }
        document.getElementById('showMsg').innerText=theLen;
        if(theLen>fieldLength)
        {
            document.getElementById('showMsg').innerText=fieldDesc;
            //alert(fieldDesc+" 的字段长度超过规定长度!");
            //document.getElementById(fieldName).focus();
            document.getElementById(fieldName).value=CutStrLength(str,fieldLength);
            return false;
        }
        else
        {
            return true;
        }
    }
</script>

 

 

3. //限制只给输入数字

 

   <script type="text/javascript" >

    function abc() {
        var char = String.fromCharCode(event.keyCode)
      
        var a = /^/d$/g;
        event.returnValuechar=match(re) != null ? true : false

    }

    function filterInput() {
        if (event.type.indexOf("key") != -1) {
            var re = /37|38|39|40/g
            if (event.keyCode.toString().match(re)) return false
        }
        event.srcElement.value = event.srcElement.value.replace(/[^0-9]/g, "")
    }
    function filterPaste() {
        var oTR = this.document.selection.createRange()
        var text = window.clipboardData.getData("text")
        oTR.text = text.replace(/[^0-9]/g, "")
    }
  </script>

 

 

 

 

4.body 部分

 

<input type="text" id="txt"      onkeypress="abc"  onkeyup="filterInput()"   onchange="filterInput()"   / >
<input type="button" onclick="check('txt');"  runat="server"  />


<textarea id="testArea" name="testArea" rows="3" cols="22" onkeyup="checkFieldLength('testArea', '超过允许输入的字符个数', 20);"
            onchange="checkFieldLength('testArea', '超过允许输入的字符个数', 20);"></textarea>
        <div id="testInfo">
            已经输入:<span id="showMsg"></span></div>

原创粉丝点击