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日

相关文章

  • 送你43道JS面试题(收藏)

    下面我将详细讲解“送你43道JS面试题(收藏)”的完整攻略。 简介 该攻略是作者搜集并整理的 43 道 JS 面试题,旨在帮助 JS 开发者更好地准备面试。这 43 道面试题涵盖了 JS 的各个方面,包括变量、类型、函数、原型、闭包、异步等等内容。如果你能够顺利地回答这些问题,那么你的 JS 基础将会非常扎实。 使用方法 首先,你需要下载压缩包并解压。 进入…

    JavaScript 2023年5月28日
    00
  • 禁止js文件缓存的代码

    要禁止JS文件缓存,我们可以设置HTTP响应报文的Header头信息,具体方法如下: 在HTTP响应报文的Header头信息中添加Expires字段和Cache-Control字段,并相应地设置其值。其中Expires字段用于指定客户端缓存的过期时间,Cache-Control字段则用于控制缓存策略。我们可以将这两个字段的值都设置为0,表示不允许客户端缓存该…

    JavaScript 2023年5月27日
    00
  • Ajax异步请求技术实例讲解

    Ajax异步请求技术实例讲解 Ajax是一种在不重新加载网页的情况下,能够实现与服务器进行数据交互的技术,它可以帮助我们通过JavaScript向服务器发起异步请求,并在请求成功后执行一定的操作,例如更新页面内容等。 Ajax的基本使用方法 在JavaScript中使用Ajax,需要用到XMLHttpRequest对象,通过该对象来向服务器发起请求并获取响应…

    JavaScript 2023年6月11日
    00
  • JavaScript中字符串(string)转json的2种方法

    下面我将详细讲解一下“JavaScript中字符串(string)转json的2种方法”。 背景知识 在JavaScript中,JSON是一种轻量级的数据交换格式,通常用于浏览器和服务器之间的数据传输。在实际开发中,我们需要将一些数据转换成JSON格式来进行传输,而字符串则是最常见的一种数据类型。那么如何将字符串转换成JSON格式呢? 方法一:使用JSON.…

    JavaScript 2023年5月27日
    00
  • Ajax Blog 用到的几个函数第2/3页

    我来详细讲解一下 “Ajax Blog 用到的几个函数第2/3页” 的完整攻略。 一、几个函数的作用 在 “Ajax Blog 用到的几个函数第2/3页” 中,主要介绍了以下几个函数: 1. getHttpObject() 该函数的作用是创建 XMLHttpRequest 对象,用于执行与服务器端的交互。在 Ajax 中,XMLHttpRequest 对象是…

    JavaScript 2023年6月11日
    00
  • JavaScript中清空数组的方法总结

    JavaScript 中清空数组的方法总结 JavaScript 中清空一个数组可以使用多种方法,本文将对常见的清空数组的方式进行总结。 1. 直接使用赋值操作符 可以将一个空数组赋值给目标数组,直接清空数组。 var arr = [1, 2, 3]; arr = []; console.log(arr); // [] 2. 使用数组的splice方法 使用…

    JavaScript 2023年5月27日
    00
  • js判断当前页面用什么浏览器打开的方法

    判断当前页面使用的浏览器主要有两种方式:一种是通过navigator对象,一种是通过检测浏览器特有的全局变量。 通过navigator对象 在浏览器中,可以通过navigator对象获取关于浏览器的一些信息,包括浏览器名称、版本信息和操作系统等。通过判断浏览器名称和版本信息,我们可以判断当前页面使用的浏览器。 以下是示例代码: // 判断浏览器是否为IE i…

    JavaScript 2023年6月11日
    00
  • JavaScript实例–创建一个欢迎cookie

    接下来我将为您详细讲解如何创建一个欢迎cookie的完整攻略。 1. 前言 在开始之前,我们需要明确一些概念: 1.1 cookie是什么? Cookie(中文:HTTP cookie)是指网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。 1.2 Javascript中的document.cookie是什么? do…

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