js substr 和 substring

不知道为什么,每次需要用到截取字符串的函数时,总是分不清 substrsubstring 的区别。但话说回来,这两个确实很像啊。js 为什么会有这两个如此“貌似” 的东西呢?

substr(start, [length])

截取从指定下标 start 开始,长度为 length 的字符串。

如果 start 是负数,则从字符串尾部开始计数,比如-1表示从倒数第一个开始。如果这个负数的绝对值大于字符串长度,那么会认为是 0。

如果length 是0或者负数,则会返回一个空字符串,如果省略 length,则会截取从start到结尾。

 

substring(start, [stop])

截取从下标start到stop(不包括stop位置的字符)的字符串。

如果省略stop,则截取到结尾。start和stop必须为非负整数,也就是 0,1,2 …

如果start大于stop,js会自动交换它们,然后计算。

如果start等于stop,则返回空字符串。

 

基本的规则就是这样,这是语法范畴的东西,很细很繁琐,也不好区分。实际上使用substr的情景可能是下面这样的。

  • 取一大段文字的前几个字,形成缩略信息。
  • 获取身份证,银行卡,电话号码等私密信息的首部和尾部,然后和 * 组装,然后公开展示。

substring可能是这样:

  • 获取uri的最后一段
  • 获取email地址@后面一段

常常要搭配 indexOf 一起使用。

 

更多细节可以参考 MDN

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substr

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring

时间: 2024-10-09 21:40:55

js substr 和 substring的相关文章

java substring与js substr、substring和C# substring的区别

在这犯过错误,是js和java间的,特此记录: java substring(start,end)表示从start,到end之间的字符串,包括start位置的字符但是不包括end位置的字符 js substr(start,length)表示从start位置开始取length个字符串 js substring(start,end)表示从start,到end之间的字符串,包括start位置的字符但是不包括end位置的字符 c# Substring(start[,length])表示从start位置开

js substr和substring字符串截取

substr(start,length)第一个参数是开始位置(注:start的开始是从0开始,看到好多博客上面是从1开始,在火狐和谷歌执行了一下是从0开始),第二个参数是截取字符串的长度(可以省略,表示到字符串末尾). 例如: 1 var ver = ",6200,6300,6400,"; 2 var first = ver.substr(0,1); //获取第一个字符"," 3 var last = ver.substr(-1,1); //获取最后的一个"

js substr与substring的区别

substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 开始和结束的位置,从零开始的索引 参数     描述start     必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置.stop     可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. 返回值 一个新的字符串,该字符串值包含 stringObje

JS截取字符串substr 和 substring方法的区别

substr 方法 返回一个从指定位置开始的指定长度的子字符串. stringvar.substr(start [, length ]) 参数 stringvar 必选项.要提取子字符串的字符串文字或 String 对象. start 必选项.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0. length 可选项.在返回的子字符串中应包括的字符个数. 说明 如果 length 为 0 或负数,将返回一个空字符串.如果没有指定该参数,则子字符串将延续到 stringvar 的最后. 示

JS中substr与substring的区别

js中substr和substring都是截取字符串中子串,非常相近,可以有一个或两个参数. 语法:substr(start [,length]) 第一个字符的索引是0,start必选 length可选 substring(start [, end]) 第一个字符的索引是0,start必选 end可选 相同点:当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串 var str = "hello Tony"; str.substr(6);  //Tony

substr和substring之间的区别

substr 和 substring都是JS 截取字符串函数,两者用法很相近,下面是两者的语法很示例: substr 方法 返回一个从指定位置开始的指定长度的子字符串.stringvar.substr(start [, length ]) 参数stringvar必选项.要提取子字符串的字符串文字或 String 对象.start必选项.所需的子字符串的起始位置.字符串中的第一个字符的索引为 0.length可选项.在返回的子字符串中应包括的字符个数. 说明如果 length 为 0 或负数,将返

关于截取字符串substr和substring两者的区别

写在前面的话: 苍天啊,大地啊 ,看,看,这是啥? 鸡冻啊,博客还是有人在看的~,哈哈哈,继续加油~ 今天分辨一下js中substr和substring的区别 1.w3school 二者的定义 1)substr 定义:substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符. 用法:   stringObject.substr(start,length) start 必需.要抽取的子串的起始下标.必须是数值.如果是负数,那么该参数声明从字符串的尾部开始算起的位置.也就是说,

Javascript中substr和substring的区别

由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别. 然而并不是,且听我一一道来. 1. substr(index, length) 从起始索引号提取字符串中指定数目的字符. substr方法可以传入两个参数 index和length.index是起始位,length是截取的长度. 当index是个非负整数时: a. 如果不传入参数,则得到的还是字符串本身. 如: "abcdefg".substr()

2015年3月5日(元宵节)——substr()与substring()的区别

做了一个跑马灯效果,body内是一个returnfalse的小练习.算是最最基础的入门了.祝大家节日快乐!代码如下: <html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"> <title>祝大家元宵节快乐!</title> <script type="text/javascript"> function scrol