文件重命名

eg: abc ----> abc(1) ----> abc(2) ……

 

加入新文件時,需要檢查當前已經重命名的最後一個文件標號是多少。

代碼是在不宜給每個文件新加一個額外的屬性來記錄標號的情況下的處理。

如果加一個額外的標記就很好辦了。

 

PS:$scope.docs是代表當前的已有的所有文檔。

 

$scope.checkSameName = function(name) {
      if (!name) {  // if it's not named file,don't check
        return name;
      }

      var finalNum = 0,
        addNum = 0,
        maxNum = 1;
      var flag = false;

      for (var i = 0; i < $scope.docs.length; i++) {
        var tname = $scope.docs[i].name;
        var exp = /[(]{1}[\d]+[)]{1}$/;
        if (exp.test(tname)){
          tname = tname.replace(exp,"");
        }

        // console.log('tt',tname);

        if (name == tname) {
          flag = true;
          var tstr = tname.match(exp);
          if (tstr) {
            var reg = /.*\([^\)\(\d]*(\d+)[^\)\(\d]*\).*/;
            var finalNum = tstr.replace(reg, "$1");
            if (finalNum > maxNum) {
              maxNum = finalNum+1;
            }
          }
        }
      }

      if (flag) {
        addNum = parseInt(maxNum);
        name += '('+addNum+')';
      }

      return name;
    }

 

 

 

 

 

發佈了852 篇原創文章 · 獲贊 1848 · 訪問量 137萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章