js常用函数的封装
1://截取url带过来的参数
function getvl(name) {
var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
return reg.test(location.href) ? decodeURI(RegExp.$2.replace(/\+/g, " ")) : '';
}; 2://判断对象的长度
Object.size = function (obj) {
var size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
3:// 转换字符串成时间 function changeTime(t, nohour) {
if (String(t).indexOf("-") >= 0 || t == null) {
return t = '';
} else {
var date = new Date(t);
Y = date.getFullYear() + '-';
M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
D = date.getDate() < 10 ? '0' + date.getDate() + ' ' : date.getDate() + ' ';
h = date.getHours() < 10 ? '0' + date.getHours() + ':' : date.getHours() + ':';
m = date.getMinutes() < 10 ? '0' + date.getMinutes() + ':' : date.getMinutes() + ':';
s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return nohour ? Y + M + D : Y + M + D + h + m + s;
}
}
4://纯数字且不能输入空格且不能输入小数点
// isZero == zero可为零
// isZero == unNone不能为空格
function keepNum(obj, num, isZero) {
var $this = $(obj);
var v = $this.val();
if (isNaN(v) || (v.indexOf('.') != -1)) {
var values = v.slice(0, -1);
if (isNaN(values)) {
values = ''
}
values = values.replace(/\s/g, "");
$this.val(values);
} else { //去除空格
$this.val(v.replace(/\s/g, ""));
}
num && (function () {
var newValue = $this.val();
if (!isNaN(newValue) && newValue != '') {
if (isZero == 'zero') {
if (newValue < 0) {
newValue = 0;
} else if (newValue > num) {
newValue = num;
}
} else {
if (newValue < 1) {
newValue = 1;
} else if (newValue > num) {
newValue = num;
}
} } else {
if (isZero == 'unNone') {
if (newValue < 1) {
newValue = 1;
} else if (newValue > num) {
newValue = num;
}
}
}
$this.val(newValue);
})()
}
5://纯数字且不能输入空格且不能输入小数点可以是负数 默认没有小数
function keepSR(obj, num,maxlength) {
var imposeNum = maxlength ? (maxlength+1) : 1;
var $this = $(obj);
var v = $this.val();
if (isNaN(v)) {
if(v!='-'){
var values = v.slice(0, -1);
if (isNaN(values)) {
values = ''
}
values = values.replace(/\s/g, "");
$this.val(values);
}
} else if (v.indexOf('.') != -1) {
if (v.split('.')[1].length == imposeNum) {
var values = v.slice(0, -1);
$this.val(values);
} else if (v.split('.')[1].length > imposeNum) {
$this.val('');
}
}else { //去除空格
$this.val(v.replace(/\s/g, ""));
}
num && (function () {
var newValue = $this.val();
if (!isNaN(newValue) && newValue != '') {
if (newValue < -num) {
newValue = -num;
} else if (newValue > num) {
newValue = num;
}
}
$this.val(newValue);
})()
}
//数字且最限制小数点位数,(默认三位)且不能输入空格且可以为0
function keepSH(obj, num ,maxlength) {
var $this = $(obj);
var v = $this.val();
var imposeNum = maxlength ? (maxlength+1) : 4;//限制小数点数量,默认为小数点后3位
if (isNaN(v)) {
var values = v.slice(0, -1);
if (isNaN(values)) {
values = ''
}
$this.val(values);
} else if (v.indexOf('.') != -1) {
if (v.split('.')[1].length == imposeNum) {
var values = v.slice(0, -1);
$this.val(values);
} else if (v.split('.')[1].length > imposeNum) {
$this.val('');
}
} else {
$this.val(v.replace(/\s/g, ""));
} var newValue = $this.val();
if (!isNaN(newValue) && newValue != '') {
if (newValue > num) {
newValue = num;
}
}
$this.val(newValue);
} function keepSH2(obj, num ,maxlength) {
var $this = $(obj);
var v = $this.val();
var imposeNum = maxlength ? (maxlength+1) : 4;//限制小数点数量,默认为小数点后3位
if (isNaN(v)) {
var values = v.slice(0, -1);
if (isNaN(values)) {
values = ''
}
$this.val(values);
} else if (v.indexOf('.') != -1) {
if (v.split('.')[1].length == imposeNum) {
var values = v.slice(0, -1);
$this.val(values);
} else if (v.split('.')[1].length > imposeNum) {
$this.val('');
}
} else {
$this.val(v.replace(/\s|-/g, ""));
} var newValue = $this.val();
if (!isNaN(newValue) && newValue != '') {
if (newValue > num) {
newValue = num;
}
}
$this.val(newValue);
}
// 检查是否为手机号
function checkMobile(text) {
var myreg = /^(1+\d{10})$/;
return !myreg.test(text) ? false : true;
}
//仅输入中文,字母,数字
function unCharacter(v) {
return v.replace(/[^\a-\z\A-\Z0-9\u4E00-\u9FA5]/g,'')
}
//禁止特殊字符
function unSpecial(v) {
return v.replace(/[^u4e00-u9fa5w]/g,'')
}
// 用来判断对象是否为空
function isEmptyObject(e) {
var t;
for (t in e)
return !1;
return !0
}
//格式化日期:yyyy-MM-dd
function formatDate(date) {
var myyear = date.getFullYear();
var mymonth = date.getMonth() + 1;
var myweekday = date.getDate(); if (mymonth < 10) {
mymonth = "0" + mymonth;
}
if (myweekday < 10) {
myweekday = "0" + myweekday;
}
return (myyear + "-" + mymonth + "-" + myweekday);
} //获得某月的天数
function getMonthDays(myMonth) {
var monthStartDate = new Date(nowYear, myMonth, 1);
var monthEndDate = new Date(nowYear, myMonth + 1, 1);
var days = (monthEndDate - monthStartDate) / (1000 * 60 * 60 * 24);
return days;
} //获得本季度的开始月份
function getQuarterStartMonth() {
var quarterStartMonth = 0;
if (nowMonth < 3) {
quarterStartMonth = 0;
}
if (2 < nowMonth && nowMonth < 6) {
quarterStartMonth = 3;
}
if (5 < nowMonth && nowMonth < 9) {
quarterStartMonth = 6;
}
if (nowMonth > 8) {
quarterStartMonth = 9;
}
return quarterStartMonth;
} //获得本周的开始日期
function getWeekStartDate() {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek);
return formatDate(weekStartDate);
} //获得本周的结束日期
function getWeekEndDate() {
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (6 - nowDayOfWeek));
return formatDate(weekEndDate);
} //获得上周的开始日期
function getpreWeekStartDate() {
var weekStartDate = new Date(nowYear, nowMonth, nowDay - nowDayOfWeek - 7);
return formatDate(weekStartDate);
} //获得上周的结束日期
function getpreWeekEndDate() {
var weekEndDate = new Date(nowYear, nowMonth, nowDay + (-1 - nowDayOfWeek));
return formatDate(weekEndDate);
} //获得本月的开始日期
function getMonthStartDate() {
var monthStartDate = new Date(nowYear, nowMonth, 1);
return formatDate(monthStartDate);
} //获得本月的结束日期
function getMonthEndDate() {
var monthEndDate = new Date(nowYear, nowMonth, getMonthDays(nowMonth));
return formatDate(monthEndDate);
} //获得上月开始时间
function getLastMonthStartDate() {
var lastMonth2 = lastMonth;
var nowYear2 = nowYear;
if (nowMonth < lastMonth) {
var lastMonth2 = 11;
var nowYear2 = nowYear - 1;
}
var lastMonthStartDate = new Date(nowYear2, lastMonth2, 1);
return formatDate(lastMonthStartDate);
} //获得上月结束时间
function getLastMonthEndDate() {
var lastMonth2 = lastMonth;
var nowYear2 = nowYear;
if (nowMonth < lastMonth) {
var lastMonth2 = 11;
var nowYear2 = nowYear - 1;
}
var lastMonthEndDate = new Date(nowYear2, lastMonth2, getMonthDays(lastMonth));
return formatDate(lastMonthEndDate);
} //获得本季度的开始日期
function getQuarterStartDate() { var quarterStartDate = new Date(nowYear, getQuarterStartMonth(), 1);
return formatDate(quarterStartDate);
} //获得本季度的结束日期
function getQuarterEndDate() {
var quarterEndMonth = getQuarterStartMonth() + 2;
var quarterStartDate = new Date(nowYear, quarterEndMonth, getMonthDays(quarterEndMonth));
return formatDate(quarterStartDate);
} //计算当天 昨天 前天
function _getDay(day) {
var today = new Date(); var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day; today.setTime(targetday_milliseconds); //注意,这行是关键代码 var tYear = today.getFullYear();
var tMonth = today.getMonth();
var tDate = today.getDate();
tMonth = doHandleMonth(tMonth + 1);
tDate = doHandleMonth(tDate);
return tYear + "-" + tMonth + "-" + tDate;
} function doHandleMonth(month) {
var m = month;
if (month.toString().length == 1) {
m = "0" + month;
}
return m;
}
/*获取选中的文字*/
var _getSelectedText = function() {
if (window.getSelection) {
return window.getSelection().toString();
} else if (document.getSelection) {
return document.getSelection();
} else if (document.selection) {
return document.selection.createRange().text;
}else{
return "";
}
}
js常用函数的封装的更多相关文章
- ecshop里提出来的js常用函数
目录 Utils.js jquery.listTable.js 使用例子: ecshop里提出来的js常用函数 Utils.js /* $Id : utils.js 5052 2007-02-03 1 ...
- 总结js常用函数和常用技巧(持续更新)
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- js常用函数和常用技巧
学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...
- 总结JS 常用函数
希望本文总结的内容能给各位看官带来焕然一新的感觉.另外,如果你们有什么值得推荐的js技巧,欢迎在评论中补充,我可以收纳在本文中. PS:此文档会持续新增内容. Ajax请求 jquery ajax函数 ...
- js常用函数、书写可读性的js、js变量声明...
1.Array类型函数 array.concat(item...) 函数功能:关联数组,实现数组相加功能,但并不影响原先数组,concat返回新数组. array.join(separator) 函数 ...
- js常用函数整理
类型转换:parseInt\parseFloat\toString 类型判断:typeof;eg:if(typeof(var)!="undefined")\isNaN 字符处理函数 ...
- 【转】JS常用函数整合库 lutils
lutils 此工具包是在 outils 的基础上,加上个人平时收集的代码片段进行的二次整合 outils的GitHub:https://github.com/proYang/outils/blob/ ...
- js常用函数汇总(不定期更新)
1.图片按比例压缩 function setImgSize(){ var outbox_w=imgbox.width(), outbox_h=imgbox.height(); imgbox.find( ...
- js原生函数一些封装
这是一些js原生封装的函数,主要是为了兼容IE浏览器,如下 获取css样式 function getStyle(ele, prop) { if(window.getComputedStyle) { r ...
随机推荐
- win2008 server 多IP配置
本人服务器环境 win8 + phpstudy 一个服务器多个IP 以前都是用linux,买了几套源码结果都是win8server 服务器+phpstudy. 渐渐也就随大流了.懒的去琢磨 一 ...
- 前端js 省市联动
代码下载地址 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www. ...
- elasticsearch 口水篇(7) Eclipse中部署ES源码、运行
ES源码可以直接从svn下载 https://github.com/elasticsearch/elasticsearch 下载后,用Maven导入(import——>Existing Mave ...
- Javascript中的对象(八)
一.如何编写可以计算的对象的属性名 我们都知道对象的属性访问分两种,键访问(["属性名"])和属性访问(.属性名,遵循标识符的命名规范) 对于动态属性名可以这样 var prefi ...
- 阿里云安装kubernetes-UI报错endpoints \"kubernetes-dashboard\" not found解决方法
问题:阿里云ECS安装kube-ui v5后,访问 http://master_ip:8080/ui/跳转到http://master_ip:8080/api/v1/proxy/namespaces/ ...
- tomcat操作
一.启动 D:\tomcat8.5.9\bin\startup 或者 D:\tomcat8.5.9\bin\catalina start 关闭tomcat: D:\tomcat8.5.9\bin ...
- java设计模式-Command模式
1.背景: 站在MM的角度,想命令追求者Boy干什么就干什么,而且将来还可以扩展,怎么做? 2.代码: Command.java: package com.cy.dp.command; publi ...
- JVM异常之:直接内存溢出
示例: package com.dxz.jvm; import java.lang.reflect.Field; import sun.misc.Unsafe; /** * @Described:直接 ...
- html地址--待更新
11.学习笔记: 视频直播技术:ijkplayer技术:jni技术: https://www.cnblogs.com/renhui/category/1011048.html: IM:环信, xmpp ...
- [UE4]虚幻4 spline组件、spline mesh组件的用法
最近公司项目需要,把这两个东东好好看了下.不得不说,这两个组件还是非常方便的,但是相关的介绍.教程却非常的少.它们概念模糊,用法奇特,我就总结下吧. 首先,先要明白spline component.s ...