工作中的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的时间代码,很有用喔
posted @ 2007-04-17 11:53  Elaine Shi  阅读(1296)  评论(0编辑  收藏  举报