工作中的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退出
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">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"> <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>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() + 1, 0); //得到本月最后一天
alert(dt.getDate()); // 本月最后一天即为本月的天数日历的JS代码:http://www.taoshaw.com/blog/article.asp?id=1171
里面有很多JS的时间代码,很有用喔
    愿一路奔跑不退缩,到目前一直从事.Net的B/S,C/S企业应用研发
                    
                
String.prototype.trim 
            
function
    
                
            
        
浙公网安备 33010602011771号