怎么把YYYY-MM-DD用正则替换成YYYY年MM月DD日

比如获取到的字符串是:
var str = "2016-11-2";
怎么匹配所有的-后,把格式转换为2016年11月2日?
阅读 13.7k
7 个回答
str.replace(/(.+?)\-(.+?)\-(.+)/,"$1年$2月$3日")//这个太直白,等别人的回答。。

str.replace(/(d{4})-(d{2})-(d{2})/,'$1年$2月$3日')

function aa(str,fomit){
var arr = str.split(fomit);
    return arr[0]+'年'+arr[1]+'月'+arr[2]+'日';
}
var str = "2016-11-2";
console.log(aa(str,'-'));
 var str = "2016-07-08";
    var reg =/(\d{4})\-(\d{2})\-(\d{2})/;
    var date = str.replace(reg,"$1年$2月$3日");
    console.log(date);

正则 反向引用

'2016-11-2'.replace(/(d{4}).(d{1,2}).(d{1,2})/, '$1年$2月$3日');

 var i = 0,arr = ['年','月','日'];
"2016-11-2".replace(/(-|(.{0})$)/g,function(a,b){
    return arr[i++];
 });
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题