在JavaScript中截取字符串一般是使用内置的substring()方法和substr()方法,这两个方法功能都很强大,也都能实现截取字符串中的最后几个字符。

substring()方法

JavaScript中的String对象提供了一个substring(int from, int to)方法用于截取字符串中位置为from到to-1位置的字符。

因为字符串的字符位置是从0开始的,而substring(int from, int to)方法是前闭后开的,即[from, to),可以理解为[from, to-1]。

同时to是可以省略的(多态),to缺省的情况下为截取到字符串的最后一位。

那么要截取字符串中的最后几个字符,就可以先获取字符串的长度,将字符串的长度-n作为substring()方法的第一参数,就能实现截取字符串最后的n个字符的效果。

var str = 'i like yanggb';

console.log(str.substring(str.length - 6)); // yanggb

另外要注意的是,JavaScript中的String是不可变的类型,因此substring()方法并不会改变原字符串,而是返回了一个新的字符串。

console.log(str); // i like yanggb

substr()方法

JavaScript中的String对象还提供了一个substr(int start, int length)方法用于截取字符串中从start位置开始length位数的字符。

常规的使用方法就不讲了,特殊的用法是这个方法的第一个参数start是支持负数的,负数表示从后往前第start位开始截取,比如start是-1的话,就表示从倒数第一位开始截取,依次类推。

那么,如果我们要截取字符串中的最后n个字符,就可以将start参数设置为-n,然后length也为n即可。

var str = 'i like yanggb';

console.log(str.substr(-6, 6)); // yanggb

同样的,substr()方法也会改变原字符串,而是返回了一个新的字符串。

console.log(str); // i like yanggb

另外要特别提及的是,substr()方法的第二个参数length的取值范围要特别注意的。

1.当length为负数的时候,实际上就相当于0。

2.当start为负数的时候,length应该小于等于start的绝对值,大于也不会报错,只是不够严谨。

3.当start为0或正数的时候,length应该大于0且小于源字符串的长度-start,否则可能没有什么意义。

"听说喜欢一个人的期限是四个月。"

javascript截取字符串的最后几个字符的更多相关文章

  1. javascript截取字符串(支持中英文混合)

    javascript截取字符串(支持中英文混合) <script type="text/javascript"> var sub=function(str,n){ va ...

  2. Javascript 查找字符串中出现最多的字符和出现的次数

    <script type="text/javascript"> //查找字符串中出现最多的字符和出现的次数 var str = 'Thatwheneying its o ...

  3. Javascript: 截取字符串多出来并用省略号[...]显示

    /背景知识/ substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数描述 start 必需.一个非负的整数 ...

  4. javascript计算字符串中出现最多的字符和个数

    代码如下: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <t ...

  5. Java中截取字符串中小数点前面的字符

    通过下标获取 String number = "2563.2154"; int index = number.indexOf("."); String intN ...

  6. plsql截取字符串字段中的某个字符段

    截取字符串 字符串s=" hello world  ! (name) " 如果要截取括号中的字符串可以采取如下方法. select substr(s,instr(s,'(')+1, ...

  7. 怎么利用javascript删除字符串中的最后一个字符呢?

    程序员就是每天在各种代码下不停的调试,世界买家网最近遇到了烦心事,是什么事情呢? 需求是一个字符串,想删除这个字符串最后一个字符,比如“1,2,3,4,5,”,删除最后一个“,”用javascript ...

  8. javascript在一个字符串中每隔多少字符插入某个字符串

    function insertStr(str,tar,n,m){ var x='' var str=str.split('') if(str.length==0) return for(var i=n ...

  9. JavaScript截取字符串的Slice、Substring、Substr函数简单比较还有indexof函数应用

    //截取字符,一看就明白!!! var str = "0123456789"; alert(str.substring(5)); 弹出 //56789 alert(str.subs ...

随机推荐

  1. vue-cli3配置webpack generate-asset-plugin

    最近尝试将vue项目中的后台URL抽离到打包后的配置文件中,看到有使用generate-asset-plugin在build时生成配置文件的做法,倒腾了一下午使该webpack plugin在vue- ...

  2. Atmel Studio 7.0 的使用方法

    就在最近,Atmel终于推出了新版本IDE——Atmel Studio 7.0,该版本采用了微软最新的 Visual Studio 2015 平台,经过一段时间使用,Atmel Studio 7.0在 ...

  3. 基于HTML的购物车模型的代码设计

    HTML代码 <html lang="en"> <head> <meta charset="UTF-8"> ​ ​ < ...

  4. 可以设置实体在Dynamics 365高级查找中不显示吗?

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  5. bossplayersCTF 1: Vulnhub Walkthrough

    主机扫描: http://10.10.202.130/ <!--WkRJNWVXRXliSFZhTW14MVkwaEtkbG96U214ak0wMTFZMGRvZDBOblBUMEsK--> ...

  6. 微服务与敏捷开发(Scrum/Kanban)的核心思想之我见

    微服务与敏捷开发(Scrum/Kanban)的核心思想之我见   关于"微服务"和"敏捷开发"的文章网络上有很多,所以这里不再重复叙述这些概念的解释和特点,而是 ...

  7. 管道及 I/O 重定向

    I/O重定向 I/O Redirection 标准输入.标准输出.标准错误输出重定向及综合案例输入重定向及结合案例 标准输入.标准输出.标准错误 file descriptors (FD,文件描述符 ...

  8. C/C++ 项目编译工具简介

    本文基于一个需要对 C 语言家族项目进行编译.生成解决方案的开发者的视角,对编译过程中所需要的各个工具进行简要的名词解释. GCC | LLVM 提供编译器 <-- GNU Make 根据配置文 ...

  9. 如何从Mac删除恶意广告软件,摆脱那些通过弹出广告或工具栏入侵Mac的恶意软件

    厌倦了那些利用弹出式广告和工具栏之类入侵Mac的恶意软件?该如何摆脱Mac上的恶意软件呢?今天小编为大家带来两种方法从Mac 删除广告软件,甚至阻止它到达您的Mac,感兴趣的朋友一起来看看吧! 方法一 ...

  10. c代码中while循环的一个死机问题引发的思考

    前记   c语言已经是一门经常吃饭的本领,本来是要有种看一眼,就知道哪儿出问题了才行,没想到,遇到实际问题的时候,才知道自己的修为不到家.还没有达到那种炉火纯青的境界.看来,不是这个世界没有机会,是自 ...