下面我来详细讲解JavaScript字符串数字左补位、右补位、取固定长度、截位扩展函数的完整攻略。
JavaScript字符串数字左补位
左补位的需求在某些场景下非常常见,比如对日期格式化时,需要将月份和日期左补位补成两位数,例如1月份,格式化后应该是"01"。下面是一个左补位的示例代码:
function leftPad(val, width, ch) {
ch = ch || '0';
val = String(val);
while (val.length < width) {
val = ch + val;
}
return val;
}
console.log(leftPad(2, 3)); //输出"002"
console.log(leftPad(9, 2)); //输出"09"
console.log(leftPad(10, 3)); //输出"010"
该函数接受三个参数:val 表示需要补位的数字或字符串,width 表示补位后的位数,ch 表示用于补位的字符。函数内部先对 ch 进行了一下处理,如果未传递字符则默认为 0。然后将传入的 val 转为字符串类型,使用while循环在 val 前面补 ch,直到 val 的长度等于 width。最后返回补位后的字符串。
JavaScript字符串数字右补位
右补位同样在某些场景下非常常见,例如金额格式化时,需要将小数点后的位数都处理成两位,不足的用0填充。下面是一个右补位的示例代码:
function rightPad(val, width, ch) {
ch = ch || '0';
val = String(val);
while (val.length < width) {
val = val + ch;
}
return val;
}
console.log(rightPad(2, 3)); //输出"200"
console.log(rightPad(9, 2)); //输出"90"
console.log(rightPad(10, 3)); //输出"100"
同样是接受三个参数,与 leftPad 函数相似。函数内部对 ch 进行了一下处理,如果未传递字符则默认为 0。然后将传入的 val 转为字符串类型,使用 while 循环在 val 后面补 ch,直到 val 的长度等于 width。最后返回补位后的字符串。
JavaScript字符串数字取固定长度
有时候需要将字符串或数字截取到固定长度,只显示一定位数的字符或数字。下面是一个取固定长度的示例代码:
function fixedLength(val, length) {
val = String(val);
if (val.length > length) {
val = val.substr(0, length);
}
return val;
}
console.log(fixedLength('abcd', 2)); //输出"ab"
console.log(fixedLength('12345678', 4)); //输出"1234"
该函数接受两个参数:val 表示需要截取的字符或数字,length 表示截取后的长度。函数内部先将传入的 val 转为字符串类型,然后判断其长度是否大于 length,如果大于则使用 substr 方法截取前 length 位的字符。最后返回截取后的字符串。
JavaScript字符串数字截位扩展
截位扩展需要将一个字符串或数字进行扩展或截取,如果长度不够,则使用指定字符将其补位到指定长度。如果长度超过特定长度,则将其截取到指定长度。下面是一个截位扩展的示例代码:
function clipExtend(val, length, filler, side) {
val = String(val);
if (val.length >= length) {
return val.substr(0, length);
}
filler = filler || ' ';
while (val.length < length) {
if (side === 'left') {
val = filler + val;
} else {
val = val + filler;
}
}
return val;
}
console.log(clipExtend('12', 5, '*', 'left')); //输出"***12"
console.log(clipExtend('abcdefg', 3, '0', 'right')); //输出"abc"
console.log(clipExtend(123, 7, '-', 'right')); //输出"123----"
该函数接受四个参数:val (必选) 表示需要进行扩展或截取的字符串或数字,length (必选) 表示扩展或截取后的最终长度,filler (可选) 表示用于补位的字符,默认为空格,side (可选) 表示往哪个方向补位,默认为右侧补位。函数内部先将传入的 val 转为字符串类型,然后判断其长度是否大于或等于 length,如果是则使用 substr 方法截取前 length 位的字符。如果长度小于 length,则使用 while 循环补充至长度为 length。如果 side 为 left,则在字符串左侧补位;否则在右侧补位。最后返回扩展或截取后的字符串。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码 - Python技术站