/***********
*时间辅助类
***********/
var DateHelper = {
//得到两个时间的差值(天数)
DateDiff: function (startDate, endDate) {
var strSeparator = "-"; //日期分隔符
var oDate1;
var oDate2;
var iDays;
oDate1 = startDate.split(strSeparator);
oDate2 = endDate.split(strSeparator);
var strDateS = new Date(oDate1[0], oDate1[1] - 1, oDate1[2]);
var strDateE = new Date(oDate2[0], oDate2[1] - 1, oDate2[2]);
iDays = parseInt(Math.abs(strDateS - strDateE) / 1000 / 60 / 60 / 24)//把相差的毫秒数转换为天数
return iDays;
},
//比较时间大小
DateCompare: function (startDate, endDate) {
var result = false;
if (new Date(endDate) > new Date(startDate)) {
result = true;
}
return result;
}
};
/***********
*常用验证类
***********/
var Validator = {
// 中文
isChinese: function (s) {
var p = /^[\u4e00-\u9fa5]+$/;
return this.test(s, p);
},
// 英文
isEnglish: function (s) {
var p = /^[A-Za-z]+$/;
return this.test(s, p);
},
// 邮箱
isEmail: function (s) {
var p = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
return this.test(s, p);
}, // 手机号码
isMobile: function (s) {
return this.test(s, /(\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{3,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$/);
},
// 电话号码
isPhone: function (s) {
return this.test(s, /^[0-9]{3,4}\-[0-9]{7,8}$/);
},
// 邮编
isPostCode: function (s) {
return this.test(s, /^[1-9][0-9]{5}$/);
},
// 数字
isNumber: function (s, d) {
return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
},
// 判断是否为空
isEmpty: function (s) {
return jQuery.isEmptyObject(s) || (s == "" ? true : false);
},
//判断是否是图片
isImage: function (s) {
return this.test(s, /\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/);
},
// 正则匹配
test: function (s, p) {
s = s.nodeType == 1 ? s.value : s;
return new RegExp(p).test(s);
}
}; //去除字符串头尾空格或指定字符
String.prototype.Trim = function (c) {
if (c == null || c == "") {
var str = this.replace(/^s*/, '');
var rg = /s/;
var i = str.length;
while (rg.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
else {
var rg = new RegExp("^" + c + "*");
var str = this.replace(rg, '');
rg = new RegExp(c);
var i = str.length;
while (rg.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
} //去除字符串头部空格或指定字符
String.prototype.TrimStart = function (c) {
if (c == null || c == "") {
var str = this.replace(/^s*/, '');
return str;
}
else {
var rg = new RegExp("^" + c + "*");
var str = this.replace(rg, '');
return str;
}
} //去除字符串尾部空格或指定字符
String.prototype.trimEnd = function (c) {
if (c == null || c == "") {
var str = this;
var rg = /s/;
var i = str.length;
while (rg.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
else {
var str = this;
var rg = new RegExp(c);
var i = str.length;
while (rg.test(str.charAt(--i)));
return str.slice(0, i + 1);
}
}
//修改字符长度,超过者以...代替
String.prototype.FixedLenth = function (lenth, ext) {
var str = this; if (length == null || length == "") {
length = 10;
} if (ext == null || ext == "") {
ext = "..";
} if (str.length > length) {
str = str.substring(0, 10) + ext;
} return str;
}

平时常用的工具类,会持续维护此工具类

常用JS工具包的更多相关文章

  1. 常用js方法

    function dateGetter(name, size, offset, trim) { offset = offset || 0; return function (date) { var v ...

  2. 常用JS正则表达式

    常用JS正则表达式 收集一些常用的JavaScript正则表达式匹配规则,比如匹配电话号码.Email.中文字符.身份证号.邮编.QQ号.过滤空白行.匹配特定数字等.觉得这玩意是很有用的,只不过自己水 ...

  3. 常用js方法整理common.js

    项目中常用js方法整理成了common.js var h = {}; h.get = function (url, data, ok, error) { $.ajax({ url: url, data ...

  4. 原生JS研究:学习jquery源码,收集整理常用JS函数

    原生JS研究:学习jquery源码,收集整理常用JS函数: 1. JS获取原生class(getElementsByClass) 转自:http://blog.csdn.net/kongjiea/ar ...

  5. 项目中常用js方法整理common.js

    抽空把项目中常用js方法整理成了common.js,都是网上搜集而来的,大家一起分享吧. var h = {}; h.get = function (url, data, ok, error) { $ ...

  6. 常用js正则表达式大全

    常用js正则表达式大全.一.校验数字的js正则表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和 ...

  7. api日常总结:前端常用js函数和CSS常用技巧

    我的移动端media html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font- ...

  8. web前端关于html转义符的常用js函数

    web前端关于html转义符的常用js函数 //去掉html标签 function removeHtmlTab(tab) { return tab.replace(/<[^<>]+? ...

  9. 基础常用JS函数和语法

    100多个基础常用JS函数和语法集合大全  来源:http://www.cnblogs.com/hnyei/p/4605103.html 网站特效离不开脚本,javascript是最常用的脚本语言,我 ...

随机推荐

  1. 第24篇 js小知识和“坑”

    前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js ...

  2. js实现二级联动下拉列表菜单

    二级联动下拉列表菜单的难点在于对后台返回的数据进行解析,不多逼逼,直接上代码 上图是后台返回的数据 实现代码如下: var deviceNotExist = true;//防止数据重复 if(data ...

  3. TypeScript设计模式之工厂

    看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...

  4. php 实现购物车功能,以大苹果购物网为例,上图上代码。。。。

    首先是几个简单的登录页面 <body> <form action="chuli.php" method="post"> <div ...

  5. 《深入理解Java虚拟机》学习笔记之字节码执行引擎

    Java虚拟机的执行引擎不管是解释执行还是编译执行,根据概念模型都具有统一的外观:输入的是字节码文件,处理过程是字节码解析的等效过程,输出的是执行结果. 运行时栈帧结构 栈帧(Stack Frame) ...

  6. Android--多线程之Handler 前言

    前言 Android的消息传递机制是另外一种形式的“事件处理”,这种机制主要是为了解决Android应用中多线程的问题,在Android中不 允许Activity新启动的线程访问该Activity里的 ...

  7. 数据库中的T-sql语句 条件修改 高级查询

    1.创建数据库:create database --数据库名,不能中文,不能数字开头,不能符号开头 2.删除数据库:drop database-- 数据库名 use student--使用数据库 3. ...

  8. Servlet中过滤器的执行流程

  9. 利用cropper插件裁剪本地图片,然后将裁剪过后的base64图片上传至七牛云空间

    现在做的项目需要做一些图片处理,由于时间赶急,之前我便没有处理图片,直接将图片放在input[type=file]里面,以文件的形式提交给后台,这样做简直就是最低级的做法,之后各种问题便出来了,人物头 ...

  10. 不懂这些分布式架构、分布式系统的数据一致性解决方案,你如何能找到高新互联网工作呢?强势解析eBay BASE模式、去哪儿及蘑菇街分布式架构

    互联网行业是大势所趋,从招聘工资水平即可看出,那么如何提升自我技能,满足互联网行业技能要求?需要以目标为导向,进行技能提升,本文主要针对招聘中高频提及的分布式系统设计.架构(数据一致性)做了分析,祝各 ...