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

JavaScript08

JS 截取字符串substr 和 substring方法的区别,第1张

请参阅以下资料:

一、substr 方法

返回一个从指定位置开始的指定长度的子字符串。

stringvar.substr(start [, length ])

参数

stringvar

必选项。要提取子字符串的字符串文字或 String 对象。

start

必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

length

可选项。在返回的子字符串中应包括的字符个数。

说明

如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。

示例

下面的示例演示了substr 方法的用法。

function SubstrDemo(){

   var s, ss                // 声明变量。

   var s = "The rain in Spain falls mainly in the plain."

   ss = s.substr(12, 5) // 获取子字符串。

   return(ss)               // 返回 "Spain"。

}

二、substring 方法

返回位于 String 对象中指定位置的子字符串。

strVariable.substring(start, end)

"String Literal".substring(start, end)

参数

start

指明子字符串的起始位置,该索引从 0 开始起算。

end

指明子字符串的结束位置,该索引从 0 开始起算。

说明

substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。

substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。

如果 start 或 end 为 NaN 或者负数,那么将其替换为0。

子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。

示例

下面的示例演示了 substring 方法的用法。

function SubstringDemo(){

   var ss                         // 声明变量。

   var s = "The rain in Spain falls mainly in the plain.."

   ss = s.substring(12, 17)   // 取子字符串。

   return(ss)                     // 返回子字符串。

}

有两种方式

1、通过split关键字进行分离

var str = "abd,sda,dsad"//定义一个字符串

var arr = str.split(",")//通过逗号把字符串分隔。

//arr[0]等于abd,arr[1]等于sda,arr[2]等于dsad

2、通过substring的方式进行分割

var str ="abdsdafewe"

var s1 = str.substring(0,4)//取前半部分abds

var s2 = str.substring(4,str.length)//取后半部分dafewe

function show(name,parm){

if(name=="abcd"){//此处name的值不固定

name = name.replace("abcd","c002b561-7bba-40bd-b394-522faf1f10e2")

//parm参数是从另一个地方传过来的,而且不能更改,传过来的时候拼接着name,后面的值是字符串拼接类型的,而且值是不固定的,如:

var parm = "name="+name+"&RIQI="+RIQI+"&GUIJI="+GUIJI+"&JGLEIBIE="+JGLEIBIE+"&JGXZ="+JGXZ+"&CPLEIBIE="+CPLEIBIE+"

}

//--------------------------添加上下面的话----------------------------------

var num = parm.indexOf("&")//返回字符串中匹配子串的第一个字符的下标

var newparm= parm.substr(num) //截取起始下标为num到最后的字符串(你试一试我记得是num要是不对的话可能需要变为num+1)

alert(parm)

}