簡體   English   中英

如何在angular / javascript中使用格式(yyyy-dd-mm)在一天中修剪0,而不在月份中修剪0?

[英]How to trim 0 in day but not in month with format(yyyy-dd-mm) in angular/javascript?

如何修剪javascript日期對象。 我有一個格式為(yyyy-dm)的日期。 日期值為2015-03-03 ,我想在幾天(而非幾個月)中修剪第一個0。

示例:當我輸入: 2015-03-03 ,它將返回2015-3-03

我嘗試了以下代碼,但它也在幾個月內減少了0

 $scope.date = {
     "start": "2015-01-26",
     "end": "2015-04-03"
 };

  `var from = $scope.date.from.replace(/\b0(?=\d)/g, '');
   var to = $scope.date.to.replace(/\b0(?=\d)/g, '');
   console.log(to);
   //output 2015-1-26 and 2015-4-3`

我該怎么辦?

如果您只想刪除當天的前導零,則:

$scope.date.from.replace(/-0(\d)$/,'-$1')

會做。 無需前瞻或使用g標志(因為您僅替換一個實例)。

編輯

抱歉,我應該解釋正則表達式和替換的工作方式。

在正則表達式中, -0(\\d)$匹配一個破折號,一個零,一個數字,一個字符串的末尾。 方括號( )捕獲保留空間中的匹配數字,該保留空間在替換字符串中由$1

然后,將整個匹配項替換為替換字符串'-$1' ,即破折號,后跟匹配的數字: $1

在要排除的正則表達式分組周圍添加破折號,您的月份兩邊都沒有破折號

/ \\ B-0(= \\ d) - /克

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM