版权声明:原创文章 转载注明出处 https://blog.csdn.net/ssd21988/article/details/86549559
JavaScript实用方法总结
在学习过程与制作项目中用到了不少实用的js方法,在这里做一个总结记录
不定期更新~~ 丘秋_XT
获取年月日时分秒
//这个很简单但经常用得到,不想敲可以直接复制
var d = new Date();
var nf = d.getFullYear();
var yue = d.getMonth() + 1;
var ri =d.getDate();
var shi = d.getHours();
var fen = d.getMinutes();
if (yue < 10) { yue = "0" + yue };
if (ri < 10) { ri = "0" + ri };
if (shi < 10) { shi = "0" + shi };
if (fen < 10) { fen = "0" + fen };
var jtsj = nf + "-" + yue + "-" + ri + " " + shi + ":" + fen;
//2019-01-19 11:20
计算二个时间段相差的天数
//sDate1和sDate2是2006-12-18格式
function DateDiff(sDate1, sDate2){
var aDate, oDate1, oDate2, iDays
aDate = sDate1.split("-");
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
//转换为12-18-2006格式
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 /24);
//把相差的毫秒数转换为天数
return iDays
}
判断输入字符是否为数字
//要给input判定的事件
onblur="check(this)"
onkeyup="this.value=this.value.replace(/[^0-9.]/g,'')"
function check(e) {
var re = /^\d+(?=\.{0,1}\d+$|$)/
if (e.value != "") {
if (!re.test(e.value)) {
e.value = "0";
e.focus();
}
}
}
//其实真的只是希望用户输入数字的话,直接给input设置一个type="number"就行了
//设置为type="number" 在手机中也会直接弹出输入法的数字输入
截取指定字符串之间的字符
截取指定字符串之后的内容
str.match(/sj(\S*)/)[1];
截取指定字符串之前的内容
str.match(/(\S*)sj/)[1];
截取二个指定字符串之间的内容
str.match(/gs(\S*)jl/)[1];
遍历二个时间段之间的所有日期
//传入二个时间段
function getDayAll(begin,end){
var dateAllArr = new Array();
var ab = begin.split("-");
var ae = end.split("-");
var db = new Date();
db.setUTCFullYear(ab[0], ab[1]-1, ab[2]);
var de = new Date();
de.setUTCFullYear(ae[0], ae[1]-1, Number(ae[2])+1);
var unixDb=db.getTime();
var unixDe=de.getTime();
for(var k=unixDb;k<=unixDe;){
dateAllArr.push((new Date(parseInt(k))).format().toString());
k=k+24*60*60*1000;
}
//返回的是二个时间段之间每一天的日期组成的数组
return dateAllArr;
}