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

yizhihongxing

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

相关文章

  • 利用css+原生js制作简单的钟表

    下面为您详细讲解“利用 CSS + 原生 JavaScript 制作简单的钟表”攻略。 准备工作 首先,我们需要准备以下工具: 代码编辑器:Visual Studio Code、Sublime Text、Atom 等。 网页浏览器:Chrome、Firefox、Safari 等。 制作步骤 接下来,我们按照以下步骤来制作简单的钟表: 1. HTML 结构 我…

    JavaScript 2023年5月27日
    00
  • javaScript语法总结

    JavaScript语法总结 1. 变量与数据类型 JavaScript的数据类型分为基本数据类型和引用数据类型。基本数据类型包括数字、字符串、布尔值、null和undefined,引用数据类型包括对象、数组和函数。 1.1 变量的声明 在JavaScript中,通过 var、let、const 关键字声明一个变量。 var 声明的变量为函数作用域,let …

    JavaScript 2023年5月17日
    00
  • 13 个JavaScript 性能提升技巧分享

    1. 使用事件委托优化事件处理 事件委托(Event Delegation)是一种常见的优化前端性能的方法。我们通过将事件监听器添加到较少的祖先元素上,然后利用事件冒泡的特性来处理事件。 这样做的好处在于可以减少事件处理程序的数量,降低内存使用,提高性能。尤其是在需要大量操作 DOM 元素时,这种优化效果更加明显。 示例: // 定义一个包含大量按钮的父元素…

    JavaScript 2023年5月18日
    00
  • jQuery中使用Ajax获取JSON格式数据示例代码

    下面我将详细讲解“jQuery中使用Ajax获取JSON格式数据示例代码”的完整攻略,包括如何使用Ajax发送请求、如何处理返回的JSON格式数据等。 使用Ajax发送请求 首先需要在HTML文件中引入jQuery库,在<head>标签中添加如下代码: <script src="https://cdn.bootcdn.net/aj…

    JavaScript 2023年5月27日
    00
  • 深入理解JavaScript中的并行处理

    注意:以下回答中,为展示Markdown编写格式,某些符号前增加了转义符“\”,实际书写时应删除转义符。 深入理解JavaScript中的并行处理 什么是并行处理 并行处理是指在同一时间点上,多个任务同时执行的一种处理方式。在JavaScript中,并行处理有多种实现方式,例如利用Web Workers实现多线程并行处理,利用Event Loop实现异步并行…

    JavaScript 2023年5月27日
    00
  • 利用JS判断字符串是否含有数字与特殊字符的方法小结

    当我们需要对用户输入的字符串进行校验时,通常会考虑到该字符串是否包含数字或特殊字符。下面就是利用JS判断字符串是否含有数字与特殊字符的方法小结。 判断字符串是否含有数字 在JS中,可以通过正则表达式来匹配字符串中的数字,具体实现如下: function hasNumber(str) { return /\d/.test(str); } console.log…

    JavaScript 2023年5月28日
    00
  • countup.js实现数字动态叠加效果

    我来详细讲解一下“countup.js实现数字动态叠加效果”的完整攻略: 准备工作 首先,我们需要将countup.js引入到网页中。可以使用npm进行安装,也可以使用CDN链接进行引入。 <script src="https://cdn.jsdelivr.net/npm/countup.js@2.0.7/dist/countUp.min.j…

    JavaScript 2023年6月11日
    00
  • php 解析xml 的四种方法详细介绍

    下面是关于”php解析xml的四种方法详细介绍”的攻略。 目录 背景 方法1:使用 SimpleXML 扩展 方法2:使用 DOM 方法3:使用 XMLReader 方法4:使用 SAX 总结 背景 为了在 Web 应用程序中处理 XML 数据,了解如何在 PHP 中解析 XML 是一个很好的技能。 PHP 有多种解析 XML 的方法 可供选择。在此处提供 …

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