js String padStart()自動補全操作

字符串自動補全函數 注意一定是字符串!

padStart(targetLength [, padString]) 方法用另一個字符串填充當前字符串(重複,如果需要的話),以便產生的字符串達到給定的長度。填充從當前字符串的開始(左側)應用的。
targetLengt 目標長度
padString 補充的字符串

var str1 = "1";
// 補充兩位 場景:日期時間
var _str1 = sr1.padStart(2, '0') // '01'

// 補充多位 場景:單據號
var receiptNO = '1';
var _receiptNO = receiptNO.padStart(16, '0'); // '000000000000001';

另外補充瀏覽器不支持的情況下需要添加Polyfill

如果原生環境不支持該方法,在其他代碼之前先運行下面的代碼,將創建 String.prototype.padStart() 方法。

// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
if (!String.prototype.padStart) {
    String.prototype.padStart = function padStart(targetLength,padString) {
        targetLength = targetLength>>0; //floor if number or convert non-number to 0;
        padString = String((typeof padString !== 'undefined' ? padString : ' '));
        if (this.length > targetLength) {
            return String(this);
        }
        else {
            targetLength = targetLength-this.length;
            if (targetLength > padString.length) {
                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
            }
            return padString.slice(0,targetLength) + String(this);
        }
    };
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章