/***********
*时间辅助类
***********/
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;
}

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

最新文章

  1. Linux下快速迁移海量文件的操作记录
  2. LinQ 组合查询与分页
  3. 清除系统日志及数据库(sql server)日志最佳实践
  4. HTML基础笔记-01
  5. 批量传递ID数组字符串到后台的处理
  6. winform学习之----打开文件对话框并将文件内容放入文本框
  7. RouterOS软路由设置固定IP+PPPOE
  8. InstallShield 打包时需要注意
  9. css--block formatting context
  10. [转]python起步之卡尔曼滤波
  11. linux下/proc/sysrq-trigger文件的功能
  12. Spring 容器可以在自动装配相互协作的 bean 之间的关系,使用autowire属性定义指定自动装配模式。
  13. Java并发系列[5]----ReentrantLock源码分析
  14. 一个C++右值引用的问题
  15. February 28th, 2018 Week 9th Wednesday
  16. 配置web pack loader 报错:Module build failed: Error: The node API for `babel` has been moved to `babel-core`.
  17. InfluxDB时序数据库应用场景
  18. Linq to xml修改CDATA节点值
  19. PowerDesigner 打印错误
  20. FunDA(10)- 用户功能函数模式:User Function Model

热门文章

  1. MongoDB【第一篇】安装
  2. 《C#语言和数据库技术基础》单词必备
  3. w7如何安装配置多个tomcat
  4. 关于hive ,eclipse老是提示加载不到驱动
  5. 最强 IDE Visual Studio 2017 正式版发布
  6. Java设计模式之《职责链模式》及应用场景
  7. 一个很逗的东西——Jd
  8. 3359: [Usaco2004 Jan]矩形
  9. CoreAnimation 寄宿图
  10. DOM的内部插入和外部插入