NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/xe-utils/methods/string/padStart.js
2023-09-14 14:47:11 +08:00

32 lines
877 B
JavaScript

var toValString = require('./toString')
var repeat = require('../string/repeat')
var isUndefined = require('../base/isUndefined')
/**
* 用指定字符从前面开始补全字符串
*
* @param {String} str 字符串
* @param {Number} targetLength 结果长度
* @param {Number} padString 补全字符
* @return {String}
*/
function padStart (str, targetLength, padString) {
var rest = toValString(str)
targetLength = targetLength >> 0
padString = isUndefined(padString) ? ' ' : '' + padString
if (rest.padStart) {
return rest.padStart(targetLength, padString)
}
if (targetLength > rest.length) {
targetLength -= rest.length
if (targetLength > padString.length) {
padString += repeat(padString, targetLength / padString.length)
}
return padString.slice(0, targetLength) + rest
}
return rest
}
module.exports = padStart