Javascript 常用的工具函数,更新中...
1、时间戳转为格式化时间
/**
* 时间戳转为格式化时间
* @Author chenjun
* @DateTime 2017-11-10
* @param {[date]} timestamp [时间戳]
* @param {[string]} formats [时间格式]
*/
function formatDate(timestamp, formats) {
/*
formats格式包括
1. Y-M-D
2. Y-M-D h:m:s
3. Y年M月D日
4. Y年M月D日 h时m分
5. Y年M月D日 h时m分s秒
示例:console.log(formatDate(1500305226034, 'Y年M月D日 h:m:s')) ==> 2017年07月17日 23:27:06
*/
formats = formats || 'Y-M-D';
var myDate = timestamp ? new Date(timestamp) : new Date();
var year = myDate.getFullYear();
var month = formatDigit(myDate.getMonth() + 1);
var day = formatDigit(myDate.getDate());
var hour = formatDigit(myDate.getHours());
var minute = formatDigit(myDate.getMinutes());
var second = formatDigit(myDate.getSeconds());
return formats.replace(/Y|M|D|h|m|s/g, function(matches) {
return ({
Y: year,
M: month,
D: day,
h: hour,
m: minute,
s: second
})[matches];
});
// 小于10补0
function formatDigit(n) {
return n.toString().replace(/^(\d)$/, '0$1');
};
}
2、千分位显示,常用于价格显示:
// 千分位
function toThousands(num) {
return parseFloat(num).toFixed(2).replace(/(\d{1,3})(?=(\d{3})+(?:\.))/g, "$1,");
}
3、超出显示省略号
// 超出显示省略号
function cutString(str, len) {
//length属性读出来的汉字长度为1
if (str.length * 2 <= len) {
return str;
}
var strlen = 0;
var s = "";
for (var i = 0; i < str.length; i++) {
s = s + str.charAt(i);
if (str.charCodeAt(i) > 128) {
strlen = strlen + 2;
if (strlen >= len) {
return s.substring(0, s.length - 1) + "...";
}
} else {
strlen = strlen + 1;
if (strlen >= len) {
return s.substring(0, s.length - 2) + "...";
}
}
}
return s;
}
4、生成随机整数
// 生成随机整数
function random(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
5、生成uuid
function getuuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
var uuid = s.join("");
return uuid;
}
6、获取url参数,兼容hash后的参数(可获取中文参数)
function getQueryString(name) {
let search = window.location.search.substr(1) || window.location.hash.split('?')[1];
let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
if (!search) return;
let r = search.match(reg);
if (r != null) return decodeURI(r[2]);
return null;
}
Javascript 常用的工具函数,更新中...的更多相关文章
- git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- AngularJS进阶(十二)AngularJS常用知识汇总(不断更新中....)
AngularJS常用知识汇总(不断更新中....) 注:请点击此处进行充电! app.controller('editCtrl',['$http','$location','$rootScope', ...
- 【github&&git】4、git常用命令(持续更新中)
git常用命令(持续更新中) 本地仓库操作git int 初始化本地仓库git add . ...
- JavaScript封装Ajax工具函数及jQuery中的ajax,xhr在IE的兼容
封装ajax工具函数 首先要思考:1.为什么要封装它?提高开发效率2.把一些不确定的情况考虑在其中 a. 请求方式 b. 请求地址 c. 是否异步 d. 发送参数 e. 成功处理 f. 失败处理3.确 ...
- 常用的工具函数助力JavaScript高效开发
前言 日常开发中,面对各种不同的需求,我们经常会用到以前开发过的一些工具函数,把这些工具函数收集起来,将大大提高我们的开发效率. 1.校验数据类型 export const typeOf = func ...
- AWK文本分析工具-常用场景(持续更新中)
AWK help document:http://www.gnu.org/software/gawk/manual/gawk.html 问题 awk命令 备注 对请求IP统计分组排序? 显示列 ...
- android开发常用组件【持续更新中。。。】
UI相关 图片 Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载.缓存.显示图片 ImageLoader:co ...
- JS几个常用的工具函数
一个项目中JS也不可避免会出现重用,所以可以像Java一样抽成工具类,下面总结了几个常用的函数: 1.日期处理函数 将日期返回按指定格式处理过的字符串: function Format(now,mas ...
- Linux软件开发常用的软件包(持续更新中)
下面是Linux开发常用的软件包: 软件包的名称 作用描述 安装方式 build-essential sudo apt-get install build-essential policycore ...
随机推荐
- ACM的fflush(stdin)的问题
在最近的刷题过程中,因为用到了很多字符串的操作,有时需要多次清空缓冲区,所以用了fflush(stdin);的语句,确实很好用,但是发现在OJ上提交后会出现runtime error的问题.当时并没有 ...
- Internet History, Technology and Security (Week 7)
Week 7 Technology: Application Protocols Welcome to Week 7 of IHTS. This week has less material than ...
- Scrum会议
小组名称:天天向上 项目名称:连连看 成员:王森(Master) 张金生 张政 栾骄阳 时间:2016.10.18 会议内容: 已完成的内容: 张政排除连续点击Button会自动消失的Bug,张金生收 ...
- PAT 甲级 1064 Complete Binary Search Tree
https://pintia.cn/problem-sets/994805342720868352/problems/994805407749357568 A Binary Search Tree ( ...
- 子类使用父类的方法 或属性时候 里面的this 代表的是自己
- DAY2-Python学习笔记
1.迭代器:可以直接作用于for循环的对象统称为可迭代对象:Iterable,使用isinstance()判断一个对象是否是Iterable对象: >>> from collecti ...
- k序列和
二分答案是参数搜索的一个改善.是这样,对于一个问题,如果它的答案具有单调性质(即如果i不可行,那么大于i的解都不可行,而小于i的解有可能可行),进而用二分的方法枚举答案,再判断答案是否可行,直到求到符 ...
- P2461 [SDOI2008]递归数列
题目描述 一个由自然数组成的数列按下式定义: 对于i <= k:ai = bi 对于i > k: ai = c1ai-1 + c2ai-2 + ... + ckai-k 其中bj 和 cj ...
- matplotlib + pandas绘图
利用pandas处理日期数据,并根据日期绘制增长率曲线. 处理的json文本内容如下: # pd.json [{"name": "A", "date& ...
- 页面: Fork me on GitHub
一.实现效果如下: 二.代码地址:https://github.com/blog/273-github-ribbons 这是一个国外网友开发的代码, 里面有很多种样式,可以自已随心选择. 三.我们只拿 ...