JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码

下面我来详细讲解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技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 面向对象的Javascript之一(初识Javascript)

    10步学会JavaScript面向对象编程 1. 什么是对象 对象是一种数据结构,用于存储属性和方法。在JavaScript中,对象可以通过{}或new Object()创建。对象的属性可以是字符串、整数或函数。 示例: // 使用字面量创建一个对象 var person = { name: "张三", age: 18, sayHello…

    JavaScript 2023年6月1日
    00
  • js Html结构转字符串形式显示代码

    下面我给您详细讲解一下如何将JS HTML结构转换成字符串形式显示代码的完整攻略。 一、概述 在前端开发中,我们经常需要将JS代码或HTML结构进行分享、展示,而将其转换为字符串形式展示,便于其他人查看和复制,这就需要使用到JS的一些方法。 二、常用方法 1. innerHTML innerHTML是JS中的一个属性,用于获取或设置元素的HTML内容,可以将…

    JavaScript 2023年5月19日
    00
  • PHP实现把文本中的URL转换为链接的auolink()函数分享

    当我们在编写一些包含URL的文本内容时,我们经常需要把这些URL转换为超链接,以便用户可以直接点击链接访问网页。在PHP中,可以使用autolink()函数来实现这个功能。 以下是实现该功能的步骤: 1. 利用正则表达式匹配URL 我们需要使用一个正则表达式来匹配一个可能包含URL的文本,并将URL提取出来。以下是示例代码: function autolin…

    JavaScript 2023年6月11日
    00
  • 比特币新时代:BRC-20的机遇与风险

    比特币新时代:BRC-20的机遇与风险攻略 随着区块链技术的快速发展,BRC-20标准被越来越多的项目所采用。而在采用BRC-20标准的项目中,比特币新时代是当前最受关注的一个。本文将从以下几个方面,对于BRC-20标准及其在比特币新时代中的机遇与风险进行详细讲解。 BRC-20标准是什么 BRC-20标准是基于以太坊智能合约的代币标准,类似于以前的ERC-…

    JavaScript 2023年6月11日
    00
  • javascript中判断一个值是否在数组中并没有直接使用

    要判断一个值是否在 JavaScript 数组中,一般可以使用 indexOf() 方法或 includes() 方法。 但是,有时候我们需要判断一个值是否在数组中,但又不想使用这两个方法。这时,我们可以使用其它方式来实现。 一种常见的方式是使用 for 循环,遍历整个数组,比较每个元素是否等于目标值。如果找到目标值,返回 true,否则返回 false。 …

    JavaScript 2023年5月27日
    00
  • JavaScript性能陷阱小结(附实例说明)

    JavaScript 性能陷阱是前端开发过程中常见的问题之一。为了避免这些问题,我们需要了解 JavaScript 性能陷阱的原因,并采取相应的措施,优化页面性能。下面是一些比较常见的 JavaScript 性能陷阱及相应的解决方法。 避免使用with关键字 with 语句将一个对象添加到作用域链中,并将该对象的属性作为局部变量,这样就可以直接访问对象属性。…

    JavaScript 2023年5月28日
    00
  • javascript页面上使用动态时间具体实现

    我们来详细讲解一下Javascript页面上使用动态时间的具体实现。 一、实现方法 1.使用setInterval()方法实现动态时间 Javascript可以通过setInterval()方法,每隔一定时间执行一段代码,源码如下: setInterval(function(){ // 在此处执行需要执行的代码 }, 时间间隔); 其中,第一个参数是需要每隔…

    JavaScript 2023年5月27日
    00
  • JavaScript数组深拷贝和浅拷贝的两种方法

    JavaScript数组的深拷贝和浅拷贝是前端开发中非常常见的操作,本文将介绍两种常用的深拷贝和浅拷贝的方法。 JavaScript数组浅拷贝 JavaScript数组浅拷贝指的是在拷贝过程中只拷贝了原数组的引用,而不是拷贝了原数组中的所有元素。 1. 使用slice()函数进行浅拷贝 const arr1 = [1, 2, 3, 4] const arr2…

    JavaScript 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部