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

写在前面的话:

苍天啊,大地啊 ,看,看,这是啥?

鸡冻啊,博客还是有人在看的~,哈哈哈,继续加油~

今天分辨一下js中substr和substring的区别

1.w3school 二者的定义

 1)substr

       定义:substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

       用法:   stringObject.substr(start,length)    

start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

      案例:

      ①  substr 只传一个参数

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substr(3))
 9 
10 </script>
11 
12 </body>
13 </html>

       输出:

      

 

字符串从第3位开始截取,截止到最后

②  substr 传两参数

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substr(3,7))
 9 
10 </script>
11 
12 </body>
13 </html>

输出:

字符串从第3位开始截取,开始数7个

 

2)substring 

    定义: substring() 方法用于提取字符串中介于两个指定下标之间的字符。

    用法: stringObject.substring(start,stop)

  
start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop

可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

如果省略该参数,那么返回的子串会一直到字符串的结尾。

    案例: 

    ①   substring 只传一个参数

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substring(3))
 9 
10 </script>
11 
12 </body>
13 </html>

输出:

 

字符串从第3位开始截取,截取到最后

②  substring 传两参数

 1 <html>
 2 <body>
 3 
 4 <script type="text/javascript">
 5 
 6 var str="Hello world!"
 7 
 8 document.write(str.substring(3,7))
 9 
10 </script>
11 
12 </body>
13 </html>

输出:

 

字符串从第3位开始截取,截取坐标为7的字符

 

2.对比

相同点:二者传一个参数的时候,功能都一样

不同点:

     substr: 可以传负数,负数从字符串的尾部开始算起的位置

     两个参数 ,后一个是 从截取位置 数若干 长度 ,length

     substring: 两个参数 ,后一个是 从截取位置到该坐标 ,stop

    一个  length , 一个 stop

   这个易懂,哈哈哈,  

   最后祝各位1024节快乐,加班庆祝一下~~

     

 

        

 

posted @ 2018-10-24 17:04  realDanielWu  阅读(1996)  评论(0编辑  收藏  举报