zoukankan      html  css  js  c++  java
  • 工作中的javascript代码收集及整理

    有个pub库放在blog的文件夹里面了,注意查查

    1.用javascript去除字符串左右空格,包括全角和半角
    //用javascript去除字符串左右空格,包括全角和半角
    String.prototype.trim 
    = function() //其中表示为:对象.属性.方法=函数方法
    var
     strTrim = this.replace(/(^\s*)|(\s*$)/g, "");
    strTrim 
    = strTrim.replace(/^[\s \t]+|[\s \t]+$/, ""); 
    return strTrim;
    }

    2 检查字符串的字符(忽略全半角)长度
    function chkByteLen(str){
     
    return str.replace(/[^\x00-\xff]/g,"  ").length)
    }

    3.弹出新窗口后,按ESC退出
    document.onkeydown= keyDown;
    function keyDown() 
            
    {
                
    var kc = event.keyCode;
                
                
    // 按esc退出
                
    if (kc == 27)
                
    {
                    self.close();
                }

               // 回车键
                
    if (event.keyCode == 13)
               
    {
              document.getElementById(
    "btnSave").click();
              }

              if (kc 
    == 37 || kc == 33// arrow left
              
    {
                  document.getElementById(
    "btnPrev").click();
                }

              if (kc 
    == 39 || kc == 34// arrow right
              
    {
                  document.getElementById(
    "btnNext").click();
              }

    }

    4. 正确截取单字节和双字节混和字符串
    /**//*************************************************************     
    Author          : Yanfu Xie <xieyanfu@yahoo.com.cn>     
    Url             : http://www.yitu.org      
    Description     : 正确截取单字节和双字节混和字符串     
    String str      : 要截取的字符串     
    Number          : 截取长度  
    ************************************************************
    */ 
    function
     substr(str, len) {     
        
    if(!str || !len) return ''; }      
        
    //预期计数:中文2字节,英文1字节     var a = 0;      
        
    //循环计数     
        
    var i = 0;      
        
    //临时字串     
        
    var temp = '';      
        
    for (i=0;i<str.length;i++){         
            
    if (str.charCodeAt(i)>255){             
                
    //按照预期计数增加2             
                a
    +=2;         
            }
             
            
    else{             
                a++;        
            }
             
            
    //如果增加计数后长度大于限定长度,就直接返回临时字符串         
            
    if(a > len) 
                return temp; 
            }
              
            
    //将当前内容加到临时字符串         
            temp += str.charAt(i);     
        }
         
        
    //如果全部是单字节字符,就直接返回源字符串     
        
    return str; 
    }
     

    5. 只允许文本框内输入中英数字下划线

    <asp:TextBox id="tbAlbumName" runat="server" onkeyup="value=value.replace(/[^\u4E00-\u9FA50-9a-zA-Z_]/g,'')" MaxLength="12" Width="250px">
    http://bbs.blueidea.com/viewthread.php?tid=539508&page=

    6. 页面及图片载入进度条

    document.write('<div id="loadDiv"><table align=center width=300><tr><td><br><br><br><br><br><br><br><br><br><br><br><br>' +
                                '<
    img valign="middle" src="/images/ii_loading045.gif" align="absmiddle" border="0">&nbsp;<span class="cx6_big">正在加载图片,请稍候<span   id="loading"></span></span></td></tr></table></div>' +
                            '<
    div id="hiddenDiv" style="display:   none">');   
            
    var   setInterval1   =   setInterval("loading.innerText   +=   '.'",   400);   
            
    var   setInterval2   =   setInterval("loading.innerText   =   ''",   10000);   
            
    var   setInterval2   =   setInterval("loading.innerText   =   ',<br><span style=\"font-color:yellow;\">载入过慢,请检查您的网络连接速度。</span>'",   500000);   
            
            
    function window.onload()   
            
    {   
                
    var hiddenDiv = document.getElementById("hiddenDiv");
                
    var loadDiv = document.getElementById("loadDiv");
                
                hiddenDiv.style.display
    ="inline";   //显示页面内容   
                
    if (loadDiv != null{loadDiv.removeNode(true);}
                
                clearInterval(setInterval1);   
                clearInterval(setInterval2);   
            }
      
            

    <div id="hiddenDiv">
                    <
    TABLE id="Table1" height="100%" cellSpacing="2" cellPadding="0" width="100%" border="0">
                        <
    tr>
                            <
    TD vAlign="middle" align="center"><asp:image id="img" style="CURSOR: hand" runat="server" ImageAlign="AbsMiddle" BorderColor="#454748"
                                    BorderWidth="1"
     tooltip="点击查看下一张" onerror="this.src='/images/tu_xiangce.gif'"></asp:image><asp:label id="lblNoImg" runat="server" Visible="False" CssClass="cx6_big"><br><br>已到最前或最后,没有图片可显示。<br><br><br><br></asp:label><br>
                                <
    br style="LINE-HEIGHT: 5px">
                                <
    asp:button id="btnPrev" runat="server" tooltip="按左方向键或向上键查看" CssClass="kuan_list" Text="前一张"
                                    style="Height:18"
    ></asp:button><INPUT class="kuan_list" title="按ESC关闭" style="HEIGHT: 18px" onclick="javascript:window.close();"
                                    type="button"
     value=" 关  闭 "><INPUT class="kuan_list" title="" style="HEIGHT: 18px" onclick="javascript:downloadFile();"
                                    type=button 
    value=" 下载原图 "><asp:button id="btnNext" runat="server" tooltip="按右方向键或向下键查看" CssClass="kuan_list" Text="后一张"
                                    style="Height:18"
    ></asp:button></TD>
                        </
    tr>
                    </
    TABLE>
                </
    div>
    http://www.yaosansi.com/blog/article.asp?id=484

    7. 处理下拉框的增加及删除Item
    // 给下拉框增加项
    function
     insertOption(obj, _text, _value, _selected){
        
        
    // 如果存在此VALUE,则编辑
        
    for (var i=0; i< obj.length; i++){
            
    if (obj[i].value == _value){
                obj[i].text 
    = _text;
                
                
    return;
            }

        }

        
        //
     若不存在此VALUE,新建            
        
    var _option = document.createElement("OPTION");
        _option.text 
    = _text;
        _option.value 
    = _value;
        _option.selected 
    = _selected;
        
        obj.add(_option);
    }


    //
     给下拉框去除某项
    function
     delOption(obj,_value){
        
    for (var i=0; i< obj.length; i++){
            
    if (obj[i].value == _value){
                obj.remove(i);
                
    return;
            }

        }

    }

    8. 显示你输入了多少还可以输入多少的方法
    onpropertychange=xxx(this,200,"lblMsg")
    // 检查输入的字数限制 (ELVA)
    //
     obj: textbox对象
    //
     maxLen: 限制的长度
    //
     showBoxID: 显示文字信息的span等容器对象的ID
    function checkMaxInput(obj, maxLen, showBoxID)
    {
        
    var showBox = document.getElementById(showBoxID);
        
    if(obj.value.length>maxLen)
        
    {  
            obj.value 
    = obj.value.substring(0,maxLen);
            showBox.innerHTML
    ="<span class=cx5>你输入的内容超出了字数限制</span>";
        }

        
    else
        
    {  
            showBox.innerHTML
    ='<span class=cx3>您已经输入了</span><span class=cx5>+ obj.value.length + '</span><span class=cx3>字, 还剩下<span class=cx5>'+(maxLen-obj.value.length)+'</span>字';
        }

    }


    9. 字符串的截取,忽略全半角
    function substrB(str, len) {     
        
    // if(!str || !len) { return ''; }     
         
        
    //预期计数:中文2字节,英文1字节         
        
    var a = 0;      
        
        
    //循环计数     
        
    var i = 0;      
        
        
    //临时字串     
        
    var temp = '';      
        
        
    for (i=0;i<str.length;i++){       
          
            
    if (str.charCodeAt(i)>255){             
                
    //按照预期计数增加2             
                a
    +=2;         
            }
             
            
    else{             
                a
    ++;        
            }
             
            
    //如果增加计数后长度大于限定长度,就直接返回临时字符串         
            
    if(a > len) 
                
    return temp; 
            }
              
            
    //将当前内容加到临时字符串         
            temp 
    += str.charAt(i);     
        }
         
        
    //如果全部是单字节字符,就直接返回源字符串     
        
    return str; 
    }
     

    // 文本框的输入限制(ELVA)
    //
     isLimited: bool
    function
     boxLength(box,maxLength,isLimited){
        
    // 限制为只允许数字大小英文下划线空格和点

        if
     (isLimited) {box.value= box.value.replace(/[^\u4E00-\u9FA50-9a-zA-Z_ .]/g,'');}
        if
     (getByteLen(box.value) > maxLength){
            box.value 
    = substrB(box.value, maxLength);
            
    return false;}

    }


    //
     取得字符串的字节长度(ELVA)
    function
     getByteLen(str){
        
    return str.replace(/[^\x00-\xff]/g,"xx").length;
    }

    10. 获取某控件下面的已知名称的控件集合:parentObj.all.namedItem(objID);

    11. 简化由string得到对象的方法
    function $(element) {
      
    if (arguments.length > 1{
        
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
          elements.push($(arguments[i]));
        
    return elements;
      }

      if
     (typeof element == 'string')
        element 
    = document.getElementById(element);
      
    return element;
    }

    12. 这种蛮有趣,重载了Trim()
    String.prototype.trim = function()
    {
        
    return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
    }

    13.Jscrip获取Querystring
    // 得到页面参数值

    function
     getQueryString(param){        
        
    var defaultValue="";
        
    if(window.location.search==""){
            
    return "";
        }

        var
     url=window.location.search.substr(1);
        
    var params=url.split("&");
        
    for(elem in params){
            
    var current=(params[elem]);
            
    var idx=current.indexOf("=");
            
    if(idx>0){
                
    var left=current.substr(0,idx);
                
    var right=current.substr(idx+1);
                
    //alert(left+","+right);
                
    if(left.toLowerCase()==param.toLowerCase()){
                    
    return right;
                }

                
            }

        }

        
    return defaultValue;
    }

    14. 得到某月的当月天数
    var dt = new Date(); //得到当前时间
    dt = new Date(dt.getFullYear(), dt.getMonth() + 10); //得到本月最后一天
    alert(dt.getDate()); // 本月最后一天即为本月的天数

    日历的JS代码:http://www.taoshaw.com/blog/article.asp?id=1171
    里面有很多JS的时间代码,很有用喔
  • 相关阅读:
    字符输入流 FileReader
    字符输出流 FileWriter
    字节流复制文件
    字节输入流 FileInputStream
    彻底弄懂jsonp原理及实现方法
    这三个月,我如何一点点地成长(海康前端实习)
    前端chrome浏览器调试总结
    前端常见的布局方案大全
    总结4种常用排序(快排、选择排序、冒泡排序、插入排序)
    详解JS中DOM 元素的 attribute 和 property 属性
  • 原文地址:https://www.cnblogs.com/syveen/p/716506.html
Copyright © 2011-2022 走看看