當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
工作中的javascript代码收集及整理
生活随笔
收集整理的這篇文章主要介紹了
工作中的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?檢查字符串的字符(忽略全半角)長度
functionchkByteLen(str){
?return?str.replace(/[^\x00-\xff]/g,"??").length)
}
3.彈出新窗口后,按ESC退出
document.οnkeydοwn=?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??????????:?截取長度??
*************************************************************/?
functionsubstr(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"> <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"οnclick="javascript:window.close();"
????????????????????????????????type="button"?value="?關??閉?"><INPUT?class="kuan_list"?title=""?style="HEIGHT:?18px"οnclick="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()?+?1,?0);?//得到本月最后一天
alert(dt.getDate());?//?本月最后一天即為本月的天數
日歷的JS代碼:http://www.taoshaw.com/blog/article.asp?id=1171
里面有很多JS的時間代碼,很有用喔
1.用javascript去除字符串左右空格,包括全角和半角
//用javascript去除字符串左右空格,包括全角和半角
String.prototype.trim?=?function()?{?//其中表示為:對象.屬性.方法=函數方法
var?strTrim?=?this.replace(/(^\s*)|(\s*$)/g,?"");
strTrim?=?strTrim.replace(/^[\s \t]+|[\s \t]+$/,?"");?
return?strTrim;
}
2?檢查字符串的字符(忽略全半角)長度
functionchkByteLen(str){
?return?str.replace(/[^\x00-\xff]/g,"??").length)
}
3.彈出新窗口后,按ESC退出
document.οnkeydοwn=?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??????????:?截取長度??
*************************************************************/?
functionsubstr(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"> <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"οnclick="javascript:window.close();"
????????????????????????????????type="button"?value="?關??閉?"><INPUT?class="kuan_list"?title=""?style="HEIGHT:?18px"οnclick="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()?+?1,?0);?//得到本月最后一天
alert(dt.getDate());?//?本月最后一天即為本月的天數
日歷的JS代碼:http://www.taoshaw.com/blog/article.asp?id=1171
里面有很多JS的時間代碼,很有用喔
轉載于:https://www.cnblogs.com/syveen/archive/2007/04/17/716506.html
總結
以上是生活随笔為你收集整理的工作中的javascript代码收集及整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度网盘下载至99.9%后,一直持续不再
- 下一篇: npm 淘宝镜像与官方源 切换