今天看啥  ›  专栏  ›  兵兵lhb

问题五

兵兵lhb  · 简书  ·  · 2019-06-26 07:47

按所给的时间格式输出指定的时间
function formaDate(date,format) {
var year = date.getFullYear(),
month = date.getMonth()+1,
day = date.getDate(),
hour = date.getHours(),
minute = date.getMinutes(),
second = date.getSeconds(),
day = date.getDay(),
week =['日','一','二','三','四','五','六'];
function pad(n){
return n < 10 ? '0' + +n : n;//如果n小于10,则需要在n前面补位0
}
return format.replace(/yyyy/,year)
.replace(/yy/,pad(year % 100))
.replace(/MM/, pad(month))
.replace(/M/, month)
.replace(/dd/, pad(date))
.replace(/d/, date)
.replace(/HH/, pad(hour))
.replace(/H/, hour)
.replace(/hh/, pad(hour % 12))
.replace(/h/, hour % 12)
.replace(/mm/, pad(minute))
.replace(/m/, minute)
.replace(/ss/, pad(second))
.replace(/s/, second)
.replace(/w/, week[day]);
}

判断输入的是否是正确的邮箱格式
function isAvailableEmail(sEmail) {
var reg = /^[0-9-a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}$/;
if(reg.test(sEmail)){
return true;
}else{
return false;
}
}

将浮点数转换成三位一分割的数,如 386485473.88 转换为 386,485,473.88(千位分割符)

//方法1:正则表达式
function separator(num) {
if (!num){//如果num为0,则输出0.00
return 0.00;
}
//parseFloat() 函数可解析一个字符串,并返回一个浮点数
//toFixed() 方法可把 Number 四舍五入为指定小数位数的数字
let str = parseFloat(num).toFixed(2);
//"?="这两个字符一起是查找的意思,如 ?<=\s*)\d+ 匹配的是 "abc 123abc""abc123abc"中的"123"
//匹配的是:前面有"重复0次或多个空格"后面紧跟的是数字的数字部分;
return str && str.toString().replace(/(\d)(?=(\d{3})+.)/g,function (0,1) {
return $1+ ",";
})
}
separator(386485473.88 );

//方法2:非正则表达式
(386485473.88).toLocaleString('en-US');



原文地址:访问原文地址
快照地址: 访问文章快照