百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> JS中substr和substring的用法和区别
分享文章到:

JS中substr和substring的用法和区别

发布时间:01/15 来源: 浏览: 关键词:
substr 和 substring都是JS 截取字符串函数,两者用法很相近,但在很多地方两者有又不同,下面我来给各位总结一下substr和substring的用法和区别

下面是两者的语法很示例:

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

stringvar.substr(start [, length ])
参数
stringvar
必选项。要提取子字符串的字符串文字或 String 对象。
start
必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length
可选项。在返回的子字符串中应包括的字符个数。

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

示例代码

 代码如下

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。

示例代码

 代码如下

function SubstringDemo(){
var ss; // 声明变量。
var s = "The rain in Spain falls mainly in the plain..";
ss = s.substring(12, 17); // 取子字符串。
return(ss); // 返回子字符串。
}


截止字符串最后一位字符的方法

 代码如下

var str="aaaaaaaaaaaaaaaaaa|"; 
var texts=str.substr(0, str.length-1);  
alert(texts);

【注】:应用substr和substring两个函数截取带有空格的字符串后的长度是每个空格算一个字符长度。例如:

 代码如下
var a = “I am shi huan!”; a.substring(0, 5).length

的值是5,而不是4,

但alert(a.substring(0, 5));的值却是I am ,这样在做alert(“I am” == a.substring(0, 5));的时

候就是false了,

 代码如下

alert(“I am” == a.substring(0, 4));

才是true。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板