常用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 ...
随机推荐
- centos/linux下的安装vsftpd
1.简介: vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,ftp服务器软件 2.安 ...
- Java long类型和Long类型的那些事
还记得最近做了一个项目使用的是Long类型作为主键Id坑死人了,对于我们来说Long类型一样是一个包装类型,类似String类型,使用==符号进行比较的时候有时候会出现问题,建议适应equal()方法 ...
- MIPS中有关于分支指令及跳转寻址
分支指令 分支指令包含该指令,和两个操作数,以及跳转的分支地址,该地址是相对于下一条指令的相对地址 分支指令占6位 操作数1占5位 操作数2占5位 分支指令16位 例如 bne ...
- HDU - 1907 John 反Nimm博弈
思路: 注意与Nimm博弈的区别,谁拿完谁输! 先手必胜的条件: 1. 每一个小游戏都只剩一个石子了,且SG = 0. 2. 至少有一堆石子数大于1,且SG不等于0 证明:1. 你和对手都只有一种选 ...
- 中小研发团队架构实践之微服务MSA
一.MSA简介 1.1.MSA是什么 微服务架构MSA是Microservice Architecture的简称,它是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相通讯.互相配合, ...
- 【视频教程】一步步将AppBox升级到Pro版
本系列教程分为上中下三部分,通过视频的形式讲解如何将基于FineUI(开源版)的AppBox v6.0一步一步升级FineUIPro(基础版). [视频教程]一步步将AppBox升级到Pro版(上)主 ...
- 前端JS面试题汇总 Part 3 (宿主对象与原生对象/函数调用方式/call与apply/bind/document.write)
原文:https://github.com/yangshun/front-end-interview-handbook/blob/master/questions/javascript-questio ...
- (28000): Access denied for user 'root'@'127.0.0.1' (using password: YES)
在一台测试服务器测试Python脚本时,执行Python脚本时报如下错误: 主要错误信息为"operation the sql fail!1045 (28000): Access den ...
- php5.3命名空间内使用 php内置类的时候
在命名空间内使用内置类库的时候,需要使用 \ 比如 $zip =new \ZipArchive;
- zTree实现地市县三级级联报错(三)
zTree实现地市县三级级联报错(三) 1.具体报错如下 usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ] ...