插件描述:jQuery实用工具集,该插件封装了常用功能,如序列化表单值获取地址栏参数window对象操作等

此工具集包含判断浏览器,判断浏览终端,获取地址栏参数,获取随机数,数据校验等常用操作功能

引入文件: <script type="text/javascript" src="jQuery-Util.js"></script>  <script type="text/javascript" src="jQuery-Util.js"></script>

使用方法:查看演示(jQuery-Util.html)或查看JS源码(未压缩,有注释)

jQuery常用工具集 示例

基本说明

使用方法: $.Util.*

判断浏览器
 $.Util.browser.* 
* 可选参数:"IE","IE6","IE7","IE8","Firefox","Opera","Chrome"
返回值:Boolean
判断浏览终端
$.Util.terminal(key)
key 可传参数:"android","iPad","iphone","mac","windows","mobileEnd"
返回值:Boolean
获取地址栏参数
$.Util.getQueryString(key)
key:返回key的值,默认返回地址栏所有数据
返回值:String/Object
获取随机数
$.Util.getRandom(min,max)
必传参数:"min:最小值,max:最大值"最小值与最大值区间的随机数
返回值:Number
浏览器对象常用操作
$.Util.win.*
* 可选方法 href(url,time),href(url,time),back(),read(time)
href:窗口跳转地址,open:打开新窗口,back:后退,read:刷新页面
必传参数:"url"地址栏链接地址,可传参数:"time"延迟毫秒数,默认为0
常用数据校验
$.Util.verify(key,val)
必传参数:"key:校验的类型,val:被校验的字符串"
key 的可选值:"email","mobile","url","idCard","postal","date","qq"
返回值:Boolean
序列化表单数据为JSON格式(快速获取表单值)
$.Util.serializeJSON(obj)
必传参数:"obj:表单元素"
返回值:Object
name

sex

                                             

                                             

                                         
记住密码
提交

更多功能及方法请查看插件源码,如:操作cookie,字符串截取等功能

源码:

/**
* 名称:jQuery 工具箱
* 创建日期:2018-01-20
* 更新日期:2018-01-20
* 开发者:helang.love@qq.com
* 联系QQ:1846492969
*/ $.extend({
Util:{
/* 浏览器 */
browser:{
IE: !!document.all,
IE6: !!document.all && !window.XMLHttpRequest,
IE7: !!document.all && /msie 7.0/gi.test(window.navigator.appVersion),
IE8: !!document.all && /msie 8.0/gi.test(window.navigator.appVersion),
Firefox: /firefox/gi.test(window.navigator.userAgent),
Opera: /opera/gi.test(window.navigator.userAgent),
Chrome: /Chrom/gi.test(window.navigator.userAgent)
},
/* 终端 */
terminal:function (key) {
var regs={
/* 安卓 */
"android":/android/i,
/* 平果平板电脑 */
"iPad":/ipad/i,
/* 苹果手机 */
"iphone":/iphone/i,
/* 苹果操作系统 */
"mac":/macintosh/i,
/* 微软操作系统 */
"windows":/windows/i,
/* 移动端设备 */
"mobileEnd":/(nokia|iphone|android|ipad|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220)/i
};
return regs[key].test(window.navigator.userAgent);
},
/*获取地址栏参数
* key:要查询的字段,缺省返回地址栏所有数据
* */
getQueryString: function (key) {
var search=window.location.search;
if(search.length<1){
return false;
}
if(key && search.indexOf(key)<0){
return false;
}
search=search.substring(1);
search=decodeURI(search);
var searchArr=search.split("&");
var searchJSON={};
for(var i=0;i<searchArr.length;i++){
var item=searchArr[i].split("=");
searchJSON[item[0]]=item[1];
}
if(key){
return searchJSON[key];
}else {
return searchJSON;
}
},
/*获取随机数*/
getRandom:function (min,max) {
return Math.floor(Math.random() * (max-min))+min+1;
},
/*字符串截取*/
substring:function (str,length) {
if(str.length>length){
return str.substring(0,length)+"...";
}else {
return str;
}
},
/* 操作cookie*/
cookie: {
/* 设置 */
set:function (key,val,len,unit) {
if(!key || typeof val=='undefined'){
return false;
}
var cookieVal=val;
if(typeof cookieVal=='object'){
var valArr=[];
$.each(cookieVal,function (val_k,val_v) {
valArr.push(val_k+"="+val_v);
});
cookieVal=valArr.join("&");
}
var len=len || 1;
var unit=unit || "d";
var units={
"d":len*24*60*60*1000,
"h":len*60*60*1000,
"m":len*60*1000,
"s":len*1000
};
var dt = new Date();
dt.setTime(dt.getTime() + (units[unit]));
var expires = ";expires=" + dt.toGMTString();
var path=';path=/', domain='', secure='';
document.cookie=[key, '=', cookieVal, expires, path, domain, secure].join('');
},
/* 获取
* key:cookie的名称,必传参数
* name:cookie中的指定值,缺省默认返回cookie下所有值
* */
get:function (key,name) {
var cookieStr=document.cookie;
var start=cookieStr.indexOf(key+"=");
if(!key || start<0){
return false;
}
cookieStr=cookieStr.substring(start);
var end=cookieStr.indexOf(";");
if(end>=0){
cookieStr=cookieStr.substring(0,end);
}
cookieStr=cookieStr.substring(key.length+1);
cookieStr=decodeURIComponent(cookieStr);
var keyArr=cookieStr.split("&");
if(keyArr.length<2){
return keyArr[0];
}
var keyJSON={};
for(var i=0;i<keyArr.length;i++){
var item=keyArr[i].split("=");
keyJSON[item[0]]=item[1];
}
if(!name){
return keyJSON;
}else {
if(keyJSON.hasOwnProperty(name)){
return keyJSON[name];
}else {
return false;
}
}
},
/* 删除 */
del:function (key) {
this.set(key,"",-365);
}
},
/* 序列化表单数据为JSON格式 */
serializeJSON: function (obj) {
var formArr = obj.serializeArray();
var formObj = new Object();
$.each(formArr, function () {
if (formObj[this.name]) {
if (!formObj[this.name].push) {
formObj[this.name] = [formObj[this.name]];
}
formObj[this.name].push(this.value || '');
} else {
formObj[this.name] = this.value || '';
}
});
return formObj;
},
/*window对象*/
win: {
/*窗口跳转地址*/
href: function (url, time) {
var time = time || 0;
setTimeout(function () {
window.location.href = url;
}, time);
},
/*打开新窗口*/
open: function (url, time) {
var time = time || 0;
setTimeout(function () {
window.open(url);
}, time);
},
/*回退历史记录*/
back: function () {
window.history.back();
},
/*刷新当前页面*/
read: function (time) {
var time = time || 0;
setTimeout(function () {
window.location.reload();
}, time);
}
},
/*校验*/
verify:function (key,val) {
var regs={
/* 邮箱 */
"email":/^[0-9a-zA-Z_]+@[0-9a-zA-Z_]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$/,
/* 手机 */
"mobile":/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/,
/* 超链接 */
"url":/^https?:\/\/(([a-zA-Z0-9_-])+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?[a-zA-Z0-9_-](\?)?)*)*$/i,
/* 身份证 */
"idCard":/^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$)$/,
/* 邮政编码 */
"postal":/^[1-9]\d{5}(?!\d)$/,
/* YY-MM-dd 格式日期 */
"date":/^[1-2][0-9][0-9][0-9]-[0-1]{0,1}[0-9]-[0-3]{0,1}[0-9]$/,
/* QQ */
"qq":/^[1-9][0-9]{4,9}$/,
/* 全部为数字 */
"numAll":/"^\d+$/,
/* 适合的帐号 英文/数字 */
"befitName":/^[a-z0-9]+$/i,
/* 适合的密码 英文/数字/下划线 */
"befitPwd":/^\w+$/
};
return regs[key].test(val);
}
}
});

jQuery实用工具集的更多相关文章

  1. Nodejs 实用工具集笔记

    前言 工具列表 supervisor 安装 使用 node-inspector 安装 使用 SuperAgent 安装 使用 教程 cheerio 安装 使用 教程 总结 前言 学了Nodejs一天了 ...

  2. jQuery实用工具函数

    1. 什么是工具函数 在jQuery中,工具函数是指直接依附于jQuery对象.针对jquery对象本身定义的说法,即全局性的函数,我们统称为工具函数,或Utilities函数.它们有一个明显的特征, ...

  3. jQuery使用工具集

    //jq-util.js$.extend({ Util:{ /* 浏览器 */ browser:{ IE: !!document.all, IE6: !!document.all && ...

  4. JQuery实践--实用工具函数

    实用工具函数,$命名空间的一系列函数,但不操作包装集.它要么操作除DOM元素以外的Javascript对象,要么执行一些非对象相关的操作. JQuery的浏览器检测标志可在任何就绪处理程序执行之前使用 ...

  5. 读<jQuery 权威指南>[6]--实用工具函数

    官方地址:http://api.jquery.com/category/utilities/ 一.数组和对象操作 1. $.each——遍历 $.each(obj,function(param1,pa ...

  6. Bootstrap<基础十> 响应式实用工具

    Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...

  7. 十款让 Web 前端开发人员更轻松的实用工具

    这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...

  8. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  9. Apache Commons 工具集

    一.Commons BeanUtils http://jakarta.apache.org/commons/beanutils/index.html 说明:针对Bean的一个工具集.由于Bean往往是 ...

随机推荐

  1. dubbo源码分析12——服务暴露3_doExportUrls()方法分析

    本文紧接上文,doExportUrls()方法位于ServiceConfig类中,代码入口如下: private void doExportUrls() { List<URL> regis ...

  2. 解决win10中chm内容显示为空白的问题

    在win10中打开chm文件,一般会是这个效果,内容显示为空白: 解决这个问题的方法是,在打开chm文件时,会有个安全警告的询问对话框,如下: 将[打开此文件前总是询问(W)]复选框的勾去掉,就OK了 ...

  3. Openssl编程--源码分析

    Openssl编程 赵春平 著 Email: forxy@126.com 第一章 基础知识 8 1.1 对称算法 8 1.2 摘要算法 9 1.3 公钥算法 9 1.4 回调函数 11 第二章 ope ...

  4. FreeSWITCH黑名单功能设置

    功能描述:对呼叫的号码进行过滤 步骤: 1.编译mod_blacklist 模块:进入源目录/usr/local/src/freeswitch  --> make mod_blacklist-i ...

  5. ASP.NET如何下载大文件

    关于此代码的几点说明: 1. 将数据分成较小的部分,然后将其移动到输出流以供下载,从而获取这些数据. 2. 根据下载的文件类型来指定 Response.ContentType .(参考OSChina的 ...

  6. Android App签名打包

    Andriod应用程序如果要在手机或模拟器上安装,必须要有签名!  1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序 ...

  7. JQery插件zClip ----实现粘贴复制功能

    使用了这个插件,但是用在table,td中话,我是一个列表来的,对此使用此插件还是有点问题的?点击其中的一个会全部都被选中. <script type="text/javascript ...

  8. 体验go语言的风骚式编程

    最近想搞搞后台开发,话说注意力就转移到了公司用的golang.用Go做微服务比较方便,或许是因为golang强悍的语法吧,看到go的语法,自己已被深深的吸引.关于学习后台如何选择可以参考<做后台 ...

  9. 关于npm 淘宝镜像 以及package.json里包的更新

    1.淘宝镜像的设置 npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm ...

  10. NIO(三)

    使用直接缓冲区完成文件的复制(内存映射文件) package com.cppdy.nio; import java.nio.MappedByteBuffer; import java.nio.chan ...