JavaScript截取字符串方式总结
JavaScript截取字符串方式总结属于前端实例代码,有关更多实例代码大家可以查看。
应用中,经常会遇到截取字符串的需求。
实现此功能的方式有多种,JavaScript本身提供了这样的方法,当然也可以通过自定义实现。
下面就对常用的方式做一下简单介绍,需要的朋友可以进行一下参考。
一.substring方法:
此方法可以截取介于指定索引之间的字符。
更多关于此方法内容参阅JavaScript substring()一章节。
语法结构:
stringObject.substring(start,stop)
参数解析:
(1).start:必需,非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
(2).stop:可选,非负的整数,此数字位置的字符不包括在提取之内。如果省略该参数,返回的子串会一直到字符串的结尾。
返回值是一个新生成的字符串,内容是源字符串中从start处到 stop-1处的子字符串。
特别说明:
(1).返回的子串包括 start 处的字符,但不包括 end 处的字符。
(2).如果start 与 end相等,那么该方法返回的就是一个空串(即长度为0的字符串)。
(3).如果start比end大,那么该方法在提取子串之前会先交换这两个参数。
(4).如果start或end为负数,那么它将被替换为 0。
(5).如果start值大于字符串的最大索引,那么返回值是空字符串,也就是长度是0。
代码实例:
var str = "pipipi.net"; console.log(str.substring(0)); console.log(str.substring(5)); console.log(str.substring(10)); console.log(str.substring(12)); console.log(str.substring(-5)); console.log(str.substring(-10)); console.log(str.substring(-12)); console.log(str.substring(0,5)); console.log(str.substring(0,10)); console.log(str.substring(0,12)); console.log(str.substring(2,0)); console.log(str.substring(2,2)); console.log(str.substring(2,5)); console.log(str.substring(2,12)); console.log(str.substring(2,-2)); console.log(str.substring(-1,5)); console.log(str.substring(-1,-5));
二.substr方法:
此方法可以从原来字符串中返回从指定索引开始,指定长度的子字符串。
当然返回值也是一个新的字符串。
更多关于此方法内容参阅JavaScript substr()一章节。
语法结构:
stringObject.substr(start [, length ])
参数解析:
(1).start:必需,所需的子字符串的起始位置。字符串中的第一个字符的索引为0。
(2).length:可选,在返回的子字符串中应包括的字符个数。
特别说明:
(1).如果 length 为 0 或负数,将返回一个空字符串。
(2).如果没有指定该参数,则子字符串将延续到stringObject的最后。
代码实例:
var str = "pipipi.net"; console.log(str.substr(0)); console.log(str.substr(2)); console.log(str.substr(3,4));
三.自定义方法:
自定义方法的方式有很多,下面分享一个比较好的代码:
var str = "前端教程网的网址是pipipi.net"; function subString(str, len, hasDot){ var newLength=0; var newStr=""; var chineseRegex=/[^\x00-\xff]/g; var singleChar=''; var strLength=str.replace(chineseRegex,'**').length; for(var i=0;i < strLength;i++){ singleChar=str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null){ newLength+=2; } else{ newLength++; } if(newLength>len){ break; } newStr+=singleChar; } if(hasDot && strLength>len){ newStr+='...'; } return newStr; }; console.log(subString(str,24,true));
实现了截取功能,并且功能很强大,能够区分中英文,每一个中文字符的长度为2,剩余的字符用点表示。
相关阅读:
(1).replace方法参阅JavaScript replace()一章节。
(2).charAt方法参阅JavaScript charAt()一章节。
(3).match方法参阅正则表达式 match()一章节。
JavaScript截取字符串方式总结,这样的场景在实际项目中还是用的比较多的,关于JavaScript截取字符串方式总结就介绍到这了。