今天处理页面的时间格式的时候遇到了一个问题,当yyyyMMdd hh:mm:ss格式的字符串传入Date对象的时候。浏览器无法读取也就是无效时间。所以我改用字符串处理的方式。
1.replace()方法
思路很简单根据不同的字符串规格进行替换操作,达到格式化时间的效果。
本例使用yyyyMMdd hh:mm:ss格式的字符串。
var time = '20180725 15:39:04';
var str = time.toString().substr(0,8).replace(/^(\d{4})(\d{2})(\d{2})$/, "$1-$2-$3");
str += time.toString().substr(8);
这样替换之后的字符串就比较符合平时的规范了。这里说一下,replace()方法第一个参数可以是字符串或者正则表达式。
$1代表与表达式的第一个子表达式匹配的文本。
2.介绍下g和i的用法及含义
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/g,"red");
g 全局替换,只要匹配的就会被替换掉。
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/i, "red");
i 是忽略大小写,上面的例子即使是首字母为大写的Blue也会被替换掉。
var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/gi, "red");
这个就不多说了,举一反三吧