工作中常用的js、jquery自定義擴(kuò)展函數(shù)代碼片段匯總
僅記錄一些我工作中常用的自定義js函數(shù)。
1、獲取URL請(qǐng)求參數(shù)
//根據(jù)URL獲取Id function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return ""; }
調(diào)用方式:var id = GetQueryString("id");
2、在文本框中光標(biāo)位置插入文本值
/* 在textarea處插入文本--Start */ (function ($) { $.fn.extend({ "insertContent": function (myValue, t) { var $t = $(this)[0]; if (document.selection) { // ie this.focus(); var sel = document.selection.createRange(); sel.text = myValue; this.focus(); sel.moveStart('character', -l); var wee = sel.text.length; if (arguments.length == 2) { var l = $t.value.length; sel.moveEnd("character", wee + t); t <= 0 ? sel.moveStart("character", wee - 2 * t - myValue.length) : sel.moveStart("character", wee - t - myValue.length); sel.select(); } } else if ($t.selectionStart || $t.selectionStart == '0') { var startPos = $t.selectionStart; var endPos = $t.selectionEnd; var scrollTop = $t.scrollTop; $t.value = $t.value.substring(0, startPos) + myValue + $t.value.substring(endPos, $t.value.length); this.focus(); $t.selectionStart = startPos + myValue.length; $t.selectionEnd = startPos + myValue.length; $t.scrollTop = scrollTop; if (arguments.length == 2) { $t.setSelectionRange(startPos - t, $t.selectionEnd + t); this.focus(); } } else { this.value += myValue; this.focus(); } } }) })(jQuery); /* 在textarea處插入文本--Ending */
調(diào)用方式:這里使用了easyui中的combobox控件和ueditor富文本控件
$("#sltLabel").combobox({ onSelect: function (item) { var item = $('#sltLabel').combobox('getValue'); if (item != undefined && item != null && item != "") { if ($("#sltChannel").val() == 0) { UE.getEditor('editor').focus(); UE.getEditor('editor').execCommand('inserthtml', '{' + item + '}'); } else { $("#txtContent").insertContent('{' + item + '}'); } } } });
easyui-combobox代碼:
<select class="easyui-combobox" id="sltLabel" name="sltLabel" style="width: 150px" onselect="change()" data-options="panelWidth: 150,panelHeight: 'auto',valueField: 'Value',textField: 'Text'"> <option value="">選擇要插入的標(biāo)簽</option></select>
$("#sltLabel").combobox("loadData", data);
3、將 Date 轉(zhuǎn)化為指定格式的String
// 對(duì)Date的擴(kuò)展,將 Date 轉(zhuǎn)化為指定格式的String // 月(M)、日(d)、小時(shí)(h)、分(m)、秒(s)、季度(q) 可以用 1-2 個(gè)占位符, // 年(y)可以用 1-4 個(gè)占位符,毫秒(S)只能用 1 個(gè)占位符(是 1-3 位的數(shù)字) // 例子: // (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 // (new Date()).Format("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 Date.prototype.Format = function (fmt) { //author: zouqj var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小時(shí) "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); for (var k in o) if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); return fmt; }
調(diào)用方式:new Date(json.ModifiedOn).Format("yyyy-MM-dd hh:mm:ss")
4、獲取當(dāng)前時(shí)間,格式:yyyy-MM-dd hh:mm:ss
//獲取當(dāng)前時(shí)間,格式:yyyy-MM-dd hh:mm:ss function getNowFormatDate() { var date = new Date(); var seperator1 = "-"; var seperator2 = ":"; var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate + " " + date.getHours() + seperator2 + date.getMinutes() + seperator2 + date.getSeconds(); return currentdate; }
5、 生成一個(gè)由隨機(jī)數(shù)組成的偽Guid(32位Guid字符串)
//方式一 function newPseudoGuid () { var guid = ""; for (var i = 1; i <= 32; i++) { var n = Math.floor(Math.random() * 16.0).toString(16); guid += n; if ((i == 8) || (i == 12) || (i == 16) || (i == 20)) guid += "-"; } return guid; } //方式二 function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } //生成guid function guid() { return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
理解JavaScript中window對(duì)象的一些用途
這篇文章主要介紹了理解JavaScript中的window對(duì)象,本文通過(guò)實(shí)例代碼詳細(xì)介紹Window對(duì)象的一些重要用途,需要的朋友可以參考下2022-07-07javascript稀疏數(shù)組(sparse array)和密集數(shù)組用法分析
這篇文章主要介紹了javascript稀疏數(shù)組(sparse array)和密集數(shù)組用法,分析javascript稀疏數(shù)組和密集數(shù)組的功能、定義與使用方法,需要的朋友可以參考下2016-12-12幫你徹底搞懂JS中的prototype、__proto__與constructor(圖解)
這篇文章主要介紹了詳解幫你徹底搞懂JS中的prototype、__proto__與constructor(圖解),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08JS復(fù)制對(duì)應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果)
這篇文章主要給大家介紹了利用JS實(shí)現(xiàn)復(fù)制指定對(duì)應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果),文中給出了詳細(xì)的介紹和示例代碼,有需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-01-01實(shí)用Javascript調(diào)試技巧分享(小結(jié))
這篇文章主要介紹了實(shí)用Javascript調(diào)試技巧分享(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06JavaScript初學(xué)者容易犯的幾個(gè)錯(cuò)誤
JavaScript 是對(duì)初學(xué)者比較友好的一門(mén)編程語(yǔ)言,基本上花個(gè)半小時(shí)看下語(yǔ)法就能寫(xiě)出能運(yùn)行的代碼。JavaScript 是動(dòng)態(tài)腳本語(yǔ)言,對(duì)數(shù)據(jù)類(lèi)型沒(méi)有太多的限制,寫(xiě)起來(lái)非常靈活。但正因?yàn)槿绱?,初學(xué)者如果不深入了解語(yǔ)言本身,往往會(huì)犯一些錯(cuò)誤,從而導(dǎo)致一些很難發(fā)現(xiàn)的 bug。2021-05-05