zoukankan      html  css  js  c++  java
  • 限制最大文本输入Js代码

    园子里一位兄弟写的JS代码(地址:http://www.cnblogs.com/tintown/archive/2005/02/07/103088.html

    <script language="javascript"> 
    <!-- 
    
    String.prototype.len=function(){ 
    return this.replace(/[^\x00-\xff]/g,"**").length; 
    } 
    
    //Set maxlength for multiline TextBox 
    function setMaxLength(object,length) 
    {
        
        var result = true; 
        var controlid = document.selection.createRange().parentElement().id; 
        var controlValue = document.selection.createRange().text; 
        var tempString=object.value;
        
        var tt=""; 
        for(var i=0;i<length;i++) 
            { 
                if(tt.len()<length) 
                    tt=tempString.substr(0,i+1); 
                else 
                    break; 
            } 
        if(tt.len()>length)
            tt=tt.substr(0,tt.length-1);
        object.value=tt;
        
        
    } 
    
    //Check maxlength for multiline TextBox when paste 
    function limitPaste(object,length) 
    { 
            var tempLength = 0; 
            if(document.selection) 
            { 
                if(document.selection.createRange().parentElement().id == object.id) 
                { 
                    tempLength = document.selection.createRange().text.len(); 
                } 
            } 
            var tempValue = window.clipboardData.getData("Text"); 
            tempLength = object.value.len() + tempValue.len() - tempLength; 
    
            if (tempLength > length) 
            { 
                tempLength -= length; 
                var tt=""; 
                for(var i=0;i<tempValue.len()-tempLength;i++) 
                    { 
                        if(tt.len()<(tempValue.len()-tempLength)) 
                            tt=tempValue.substr(0,i+1); 
                        else 
                            break; 
                    } 
                if(tt.len()<=0)
                {    
                    window.event.returnValue=false;
                    
                }
                else
                {
                    tempValue=tt; 
                    window.clipboardData.setData("Text", tempValue); 
                    window.event.returnValue = true; 
                }
            } 
        
    
    } 
    
    function PressLength()
    {
        
        if(event.srcElement.type=="text" || event.srcElement.type=="textarea" )
        {
            if(event.srcElement.length!=null)
                setMaxLength(event.srcElement,event.srcElement.length);
            
        }
    }
    
    function LimitLength()
    {
    
        if(event.srcElement.type=="text" || event.srcElement.type=="textarea" )
        {
            if(event.srcElement.length!=null)
                limitPaste(event.srcElement,event.srcElement.length);
        }
    }
    document.documentElement.attachEvent('onkeyup', PressLength); 
    document.documentElement.attachEvent('onpaste', LimitLength);
    
    //--> 
            </script>
    但是这个毕竟是在客户端的,本着“客户不信任”的原则,在服务器端得验证还是少不了的。
    作者:KKcat
        
    个人博客:http://jinzhao.me/
        
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Scala学习(八)---Scala继承
    Scala学习(九)---文件和正则表达式
    Scala学习(六)---Scala对象
    jemter----命令行模式(cmd)导出测试报告
    js数据类型
    定期任务,如每月清理(SpringBoot Mybatis-Plus)
    定时执行任务(SpringBoot Mybatis-Plus)
    图片服务映射(SpringBoot mybatis-plus)
    图片压缩上传(Springboot mybatis-plus)
    java生成pdf
  • 原文地址:https://www.cnblogs.com/jinzhao/p/1592864.html
Copyright © 2011-2022 走看看