常用JS小知识汇总

时间:2022-05-10 16:42:45

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小知识汇总的更多相关文章

  1. 第24篇 js小知识和&OpenCurlyDoubleQuote;坑”

    前面说了说了js的相关知识,基本上除了语法外,把项目常用的知识做了一个梳理,现在说下js的其它方面的知识,这些知识不成体系,属于不理解对于一般开发没什么太多影响,但如果理解清楚,可以更好去开发. js ...

  2. 零散的JS和node&period;js小知识

    JS的连续赋值和曾经出现的怪异情况 let a=1; let b=a=3; 如上的真实赋值过程 => a=1 => a=3 => b=3 => 一般来说,等号是从右向左赋值的 ...

  3. Eclipse常用小知识汇总

    原文:http://blog.csdn.net/jinzhencs/article/details/50462370 1.修改注释 自动出来的author

  4. javascript实用技巧,js小知识

    一.js整数的操作 使用|0和~~可以将浮点转成整型且效率方面要比同类的parseInt,Math.round 要快,在处理像素及动画位移等效果的时候会很有用.性能比较见此. var foo = (1 ...

  5. 腾讯优测干货精选&vert; 安卓开发新技能Get -常用必备小工具汇总

    文/腾讯公司 陈江峰 优测小优有话说: 移动研发及测试干货哪里找?腾讯优测-优社区你值得拥有~ 开发同学们都知道,安卓开发路上会碰到很多艰难险阻,一不小心就被KO.这时候,没有新技能傍身怎么行?今天我 ...

  6. js小知识 正则表达

    js定义正则表达式有两种方式:普通方式,构造函数方式 正则对象是js的内置对象 正则的属性 正则的方法 js中字符串的方法 一.普通方式(双斜杠//方式):var  reg = /表达式/附加参数 表 ...

  7. js 小知识

    在iframe 页面获取父级页面的 html var obj = window.parent.document.getElementById('modaliframe'); 解决Jquery 的在一个 ...

  8. javascript常用的小知识

    1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键 <table border oncontextmenu ...

  9. 看到的一些js小知识

    向数组结尾添加元素高效方法: var arr = [1,2,3]; arr[arr.length] = 4 头部: var a = [1,2,3]; a.concat(4,5); // 1,2,3,4 ...

随机推荐

  1. 热浪&lbrack;TYVJ1031&rsqb;

    描述 德克萨斯纯朴的民眾们这个夏天正在遭受巨大的热浪!!!他们的德克萨斯长角牛吃起来不错,可是他们并不是很擅长生產富含奶油的乳製品.Farmer John此时以先天下之忧而忧,后天下之乐而乐的精神,身 ...

  2. jQuery post数据至ashx

    今天给大家分享一个小功能,在jQuery环境中,Post data to ashx进行数据交互. 参考下面代码示例: $.ajax({ url: '<%= ResolveUrl("~/ ...

  3. Guava并发:ListenableFuture与RateLimiter示例

    ListenableFuture顾名思义就是可以监听的Future,它是对java原生Future的扩展增强 RateLimiter类似于JDK的信号量Semphore,他用来限制对资源并发访问的线程 ...

  4. jQuery EasyUI API 中文文档 - ComboGrid 组合表格

    jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下. 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults ...

  5. 关于jquery插件 入门

    关于 JavaScript & jQuery 的插件开发   最近在温故 JavaScript 的面向对象,于是乎再次翻开了<JavaScript高级程序设计>第3版,了解到其中常 ...

  6. MAC机中安装RUBY环境

    在安装CocoaPods之前要先配置好RUBY环境,本文就怎么安装RUBY的环境进行一总结.安装Ruby环境首先需要安装Xcode然后需要安装Homebrew,接下来需要安装RVM最后安装Ruby环境 ...

  7. 域名的a记录转过来他的公网ip

    首先 客户要我把域名 和项目进行绑定客户需要提供万网或者新网的账户,登进去域名管理  选项域名管理的A记录定向到那个公网ip上 与服务器做绑定然后 在服务器的iis 上 加个主机头 输入主机头名称 也 ...

  8. linux下添加PATH环境变量

    添加PATH环境变量,第1种方法:[root@lx_web_s1 ~]# export PATH=/usr/local/webserver/mysql/bin:$PATH 再次查看: [root@lx ...

  9. c语言—临界资源管理

    临界区管理的基本原则是: ①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入.②任何时候,处于临界区内的进程不可多于一个.如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待. ...

  10. BZOJ5101 &colon; &lbrack;POI2018&rsqb;Pow&&num;243&semi;d

    求出Kruskal重构树,那么重构树上每个点的取值范围是定的. 考虑树形DP,则对于一个点,要么所有点水位相同,要么还未发生合并. 故$dp[x]=up[x]-down[x]+1+dp[l[x]]\t ...