常用JS小知识汇总
1 上传图片:html代码
<input id="image" type='file' name='myFile' size='15' onchange="showPicture(this)" />
<img id="111" src="img/1.jpg" width="133" height="200" />
js代码:
<script type="text/javascript">
function showPicture(imgFile) {
// alert(window.URL.createObjectURL(imgFile.files[0]));
/*获取上传文件的路径*/
document.getElementById("111").src = window.URL.createObjectURL(imgFile.files[0]);
}
</script>
2 多个json数组合并为一个显示(定义一个空数组遍历各个子json,然后push进去)
str1,str2,str3为3个json数组 var result = new Array(); for (var i = 0; i < str1.length; i++) {
result .push(str1[i]);
} for (var i = 0; i < str2.length; i++) {
result .push(str2[i]);
} for (var i = 0; i < str3.length; i++) {
result .push(str3[i]);
}
3获取某个div的真实高度
parseInt($('#ceshi').get(0).offsetHeight)
4选择器
$("input[name^='news']") //name是以news开始的input
$("input[name$='letter']") //name是以letter结尾的input
$("input[name*='man']") //查找所有 name 包含 'man' 的 input 元素
5数字转换成字母
//#region "数字转换成字母(1-A,2-B....,27-AA,28-AB....53-BA,54-BB...)"
function getCharacter(value) {
var m = value % 26;
var n = parseInt(value / 26);
var preCode = ""
if (n > 0) {
preCode = getCharacter(n);
}
if (m > 0) {
return preCode + CharCodeToString(m + 64);
} else if (m == 0) {
return preCode + CharCodeToString(90);
}
} function CharCodeToString(value) {
return String.fromCharCode(value)
}
//#endregion
6判断是否为空
//#region "判断是否为空"
function isNull(data) {
return (data == "" || data == undefined || data == null) ? true : false;
}
7判断ie版本
//#region "IE"
//判断ie版本
function getInternetExplorerVersion() {
var browser = navigator.appName;
var b_version = navigator.appVersion;
var version = b_version.split(";");
if (version.length > 1) {
var trim_Version = parseInt(version[1].replace(/[ ]/g, "").replace(/MSIE/g, ""));
return trim_Version;
} else {
return 0;
} }
8日期格式扩展
//#region "日期格式扩展"
// var d = new Date(value);
// d.Format('yyyy-MM-dd')
function dateFormat() {
Date.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
}
//#endregion
9禁止重复调用、只允许执行一次的once 函数
//#region "禁止重复调用、只允许执行一次的once 函数"
function once(fn, context) {
var result;
return function () {
if (fn) {
result = fn.apply(context || this, arguments);
fn = null;
}
return result;
};
}
//#endregion
10共用的百分比格式化显示
//共用的百分比格式化显示
function formatPercent(value, rowData) {
if (value) {
if (value == "") {
return '';
} else if (parseFloat(value) == 0) {
return '';
} else {
var s = parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed(2) + ""; //格式化字符串,保留两位小数点
return s + "%";
}
}
return '';
}
11共用的数量格式化显示
//共用的数量格式化显示
function formatAmount(value, rowData) {
if (value) {
if (value == 0) {
return '';
} else {
var oper = parseFloat(value) >= 0 ? "" : "-";
value = Math.abs(value);
var s = parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed() + "";
var l = value.toString().split(".")[0].split("").reverse();
var r = value.toString().split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
if (r) {
return oper + t.split("").reverse().join("") + "." + r;
} else {
return oper + t.split("").reverse().join("");
}
}
} else {
return '';
}
}
12共用的金额格式化显示
//共用的金额格式化显示
function formatMoney(value, rowData) {
if (value) {
if (value == 0) {
return '';
} else {
var oper = parseFloat(value) >= 0 ? "" : "-";
value = Math.abs(value); //取整
with (Math) { //四舍五入
value = Math.round(value * pow(10, 2)) / pow(10, 2);
value = value.toFixed(2)
}
var n = 2;
var s = parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed(n) + "";
var l = value.toString().split(".")[0].split("").reverse();
var r = value.toString().split(".")[1];
t = "";
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && (i + 1) != l.length ? "," : "");
}
if (r) {
return oper + t.split("").reverse().join("") + "." + r;
} else {
return oper + t.split("").reverse().join("") + ".00";
}
}
} else {
return '';
}
}
13共用的日期格式化显示
//共用的日期格式化显示
function formatDate(value, rowData, rowIndex) {
var ShowDate = "
if (value.length > 0) {
var d = new Date(value);
ShowDate = d.Format("yyyy-MM-dd");
}
return ShowDate;
}
14 数据加上千分号
function formatNumberRgx(num) {
var parts = num.toString().split(".");
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ","); //正则表达式
return parts.join(".");
};
15 数值转Money
//金额格式:参数:数值,保留小数位数,货币符号,整数部分千位分隔符,小数分隔符
function formatMoney(number, places, symbol, thousand, decimal) {
number = number || 0;
places = !isNaN(places = Math.abs(places)) ? places : 2;
symbol = symbol !== undefined ? symbol : "¥";
thousand = thousand || ",";
decimal = decimal || ".";
var negative = number < 0 ? "-" : "",
i = parseInt(number = Math.abs(+number || 0).toFixed(places), 10) + "",
j = (j = i.length) > 3 ? j % 3 : 0;
return symbol + negative + (j ? i.substr(0, j) + thousand : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousand) + (places ? decimal + Math.abs(number - i).toFixed(places).slice(2) : "");
}
常用JS小知识汇总的更多相关文章
- 第24篇 js小知识和“坑”
前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js ...
- 零散的JS和node.js小知识
JS的连续赋值和曾经出现的怪异情况 let a=1; let b=a=3; 如上的真实赋值过程 => a=1 => a=3 => b=3 => 一般来说,等号是从右向左赋值的 ...
- Eclipse常用小知识汇总
原文:http://blog.csdn.net/jinzhencs/article/details/50462370 1.修改注释 自动出来的author
- javascript实用技巧,js小知识
一.js整数的操作 使用|0和~~可以将浮点转成整型且效率方面要比同类的parseInt,Math.round 要快,在处理像素及动画位移等效果的时候会很有用.性能比较见此. var foo = (1 ...
- 腾讯优测干货精选| 安卓开发新技能Get -常用必备小工具汇总
文/腾讯公司 陈江峰 优测小优有话说: 移动研发及测试干货哪里找?腾讯优测-优社区你值得拥有~ 开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO.这时候,没有新技能傍身怎么行?今天我 ...
- js小知识 正则表达
js定义正则表达式有两种方式:普通方式,构造函数方式 正则对象是js的内置对象 正则的属性 正则的方法 js中字符串的方法 一.普通方式(双斜杠//方式):var reg = /表达式/附加参数 表 ...
- js 小知识
在iframe 页面获取父级页面的 html var obj = window.parent.document.getElementById('modaliframe'); 解决Jquery 的在一个 ...
- javascript常用的小知识
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...
- 看到的一些js小知识
向数组结尾添加元素高效方法: var arr = [1,2,3]; arr[arr.length] = 4 头部: var a = [1,2,3]; a.concat(4,5); // 1,2,3,4 ...
随机推荐
- composer安装出现proc_open没有开启问题的解决方案
今天在安装下载项目的时候,使用composer来安装依赖.遇到了 The Process class relies on proc_open, which is not available on yo ...
- freemaker中的map遍历
前两天在freemaker中遇到一个问题,怎么遍历一个Map<List<Object>的map呢? 网上找个很多都是类似下面的: <#if map?exists> < ...
- hdu5296 01字典树
根据二进制建一棵01字典树,每个节点的答案等于左节点0的个数 * 右节点1的个数 * 2,遍历整棵树就能得到答案. AC代码: #include<cstdio> using namespa ...
- Codeforces348C - Subset Sums
Portal Description 给出长度为\(n(n\leq10^5)\)的序列\(\{a_n\}\)以及\(m(m\leq10^5)\)个下标集合\(\{S_m\}(\sum|S_i|\leq ...
- 模板语言变量,js变量,js自执行函数之前嵌套调用
1.模板语言变量 前端html页面中展示 {{ nodeIp }} 2.js变量引用模板语言变量 把模板语言变量传递给js,js去执行页面操作(变量的转换,只适用于字符串) var IP = &quo ...
- Centos中hive/hbase/hadoop/mysql实际操作及问题总结
目录 Hive中文乱码问题 hive和hbase的版本不一致 Ambari hive插入Hbase出错 Hive0.12和Hbase0.96不兼容,重新编译hive0.12.0 hiveserver不 ...
- Linux(二)命令
Linux命令一.命令基本格式 命令行头部显示字符意义 [root@localhost ~] # root 用户名 localhost 主机名 ~ 当前目录 ~表示home目录 # 用户权限,#表示超 ...
- jQuery手机发送验证码倒计时代码
<!DOCTYPE> <html> <head> <meta charset="UTF-8"> <script type=&q ...
- PCI、CPCI、CPCIE 区别、特点
PCI.CPCI.CPCIE 区别.特点 CPCI总线 •PCI总线作为处理器系统的局部总线,主要目的是为了连接外部设备,而不是作为处理器的系统总线连接Cache和主存储器 •(1) PCI总线空间与 ...
- java Socket实现简单在线聊天(一)
最近的项目有一个在线网页交流的需求,由于很久以前做过的demo已经忘记的差不多了,因此便重新学习一下. 我计划的大致实现步骤分这样几大步: 1.使用awt组件和socket实现简单的单客户端向服务端持 ...