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


Posted in Javascript onDecember 22, 2016

仅记录一些我工作中常用的自定义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());

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

Javascript 相关文章推荐
extjs form textfield的隐藏方法
Dec 29 Javascript
event.X和event.clientX的区别分析
Oct 06 Javascript
Ajax搜索结果页面下方的分页按钮的生成
Apr 05 Javascript
jQuery UI Autocomplete 1.8.16 中文输入修正代码
Apr 16 Javascript
javascript跑马灯抽奖实例讲解
Apr 17 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
May 10 Javascript
一个有意思的鼠标点击文字特效jquery代码
Sep 23 jQuery
使用vue-router设置每个页面的title方法
Feb 11 Javascript
vue中axios请求的封装实例代码
Mar 23 Javascript
javascript实现遮罩层动态效果实例
May 14 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
Vue 实现拨打电话操作
Nov 16 Javascript
Angular-Touch库用法示例
Dec 22 #Javascript
Json按某个键的值进行排序
Dec 22 #Javascript
js实现登录验证码
Dec 22 #Javascript
JS实现超简单的汉字转拼音功能示例
Dec 22 #Javascript
JavaScript实现汉字转换为拼音的库文件示例
Dec 22 #Javascript
基于Javascript倒计时效果
Dec 22 #Javascript
JS前端加密算法示例
Dec 22 #Javascript
You might like
用Zend Encode编写开发PHP程序
2010/02/21 PHP
163的邮件用phpmailer发送(实例详解)
2013/06/24 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
2014/05/08 PHP
PHP实现计算器小功能
2020/08/28 PHP
jquery animate图片模向滑动示例代码
2011/01/26 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
jQuery中removeData()方法用法实例
2014/12/27 Javascript
JavaScript仿flash遮罩动画效果
2016/06/15 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
基于vue.js快速搭建图书管理平台
2017/10/29 Javascript
Mint UI组件库CheckList使用及踩坑总结
2018/12/20 Javascript
详解vue开发中调用微信jssdk的问题
2019/04/16 Javascript
Weex开发之地图篇的具体使用
2019/10/16 Javascript
JavaScript的console命令使用实例
2019/12/03 Javascript
使用Vue实现简单计算器
2020/02/25 Javascript
node中短信api实现验证码登录的示例代码
2021/01/20 Javascript
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
用Python的urllib库提交WEB表单
2009/02/24 Python
Python实现的读取电脑硬件信息功能示例
2018/05/30 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
python实现字符串加密成纯数字
2019/03/19 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
CSS3美化表单控件全集
2016/06/29 HTML / CSS
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
浅谈amaze-ui中datepicker和datetimepicker注意的几点
2020/08/21 HTML / CSS
美国著名手表网站:Timepiece
2017/11/15 全球购物
市场营销专业个人自荐信格式
2013/09/21 职场文书
自荐信格式范文
2013/10/07 职场文书
大四自我鉴定
2014/02/08 职场文书
高速铁道技术专业求职信
2014/08/09 职场文书
十佳青年事迹材料
2014/08/21 职场文书
爱国主题班会教案
2015/08/14 职场文书
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸