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截取字符串方式总结就介绍到这了。

回复

我来回复
  • 暂无回复内容