欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

工作中常用的js、jquery自定义扩展函数代码片段汇总

程序员文章站 2022-05-28 21:22:57
仅记录一些我工作中常用的自定义js函数。 1、获取url请求参数 //根据url获取id function getquerystring(name) {...

仅记录一些我工作中常用的自定义js函数。

1、获取url请求参数

//根据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 "";
}

调用方式:var id = getquerystring("id");

2、在文本框中光标位置插入文本值

/* 在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 */

调用方式:这里使用了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="">选择要插入的标签</option></select>

$("#sltlabel").combobox("loaddata", data);

3、将 date 转化为指定格式的string

// 对date的扩展,将 date 转化为指定格式的string
// 月(m)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, 
// 年(y)可以用 1-4 个占位符,毫秒(s)只能用 1 个占位符(是 1-3 位的数字) 
// 例子: 
// (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(), //小时 
    "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;
}

调用方式:new date(json.modifiedon).format("yyyy-mm-dd hh:mm:ss")

4、获取当前时间,格式:yyyy-mm-dd hh:mm:ss

//获取当前时间,格式: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、  生成一个由随机数组成的伪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());

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!