JavaScript字符串String对象之String对象中的常用方法

 2015年07月17日    383     声明


本文继续介绍JavaScript中String对象,在这个对象中,有一些常用的方法,如:字符操作、字符串操作、字符串大小写转换及字符串匹配查找等,本文将介绍String对象中这些常用的方法。

  1. 字符操作
  2. 字符串操作
  3. 查找字符所在位置
  4. 大小写转换
  5. 字符串匹配与查找
  6. 字符串其它方法


1. 字符操作

JavaScript中没有字符类型,但在String对象中有两个访问指定位置单个字符的访问,分别是:

  • charAt():返回指定位置的字符
  • charCodeAt():返回指定位置的字符编码
var stringValue = "itbilu.com";

stringValue.charAt(3);        //i
stringValue.charCodeAt(3);    //105


2. 字符串操作

String对象中字符串操作的方法主要有:字符串连接、字符提取等方法:

  • concat(stringX,stringX,...,stringX):连接字符串,将一个或多个字符串连接成一个新字符串
  • substring(start,stop):提取两个位置之间的字符串片断,省略第二个参数时则在字符串最后位置结束
  • substr(start,length):从指定位置开始,提取指定长度的字符串
  • slice(start,end):提取两个位置之间字符串片断,并在新的字符串中返回被提取的部分。与 substring()不同是的是,slice()方法可传入负数,传入的负数会从字符串的末尾开始计算
var www = 'www.';
var itbilu = www.concat('itbilu', '.com') 
console.log(itbilu); 				//www.itbilu.com
console.log(itbilu.substring(4, 10));	//itbilu
console.log(itbilu.substr(4, 6));		//itbilu
console.log(itbilu.slice(4, -4));		//itbilu


3. 查找字符所在位置

查看某个子字符串在字符串中的位置,可以使用indexOf()lastIndexOf()

  • indexOf():查找子字符串所在位置,从开头开始查找
  • lastIndexOf():查找子字符串所在位置,从结尾开始查找
var itbilu = "www.itbilu.com";

console.log(itbilu.indexOf('i'));    //4
console.log(itbilu.lastIndexOf('i'));    //7


4. 大小写转换

大小写转换可以使用下面4个方法:

  • toLowerCase():转换为小写字符串
  • toLocaleLowerCase():转换为小写字符串,按地区规则
  • toUpperCase():转换为大写字符串
  • toLocaleUpperCase():转换为大写字符串,按地区规则
toLowerCase()、toLocaleLowerCase()、toUpperCase() 和 toLocaleUpperCase()

在大小写转换中,各有一个按地区规则进行转换的方法,在某些地区会为Unicode大小写转换应用特殊的规则,如果不清楚程序的运行区域,建议使用Locale方法进行转换。


String对象中有几个用于在字符串中进行匹配模式的方法,这些方法可以按RegExp正则表达式进行模式匹配:

  • match(regexp/substr):在指定字符串中精确查找一个值,或用正则表达式匹配多个值
  • search(regexp/substr):search方法与match参数相同,不同的是search方法会返回子字符串所在位置的索引
  • replace(regexp/substr,replacement):检索字符串中指定的子字符串,或与正则表达式相匹配的子字符串,并用指定值进行替换
  • split(separator,howmany):用指定字符把一个字符串分割成字符串数组,可使用howmany参数指定数组的最大长度
var itbilu = "www.itbilu.com";

console.log(itbilu.match(/i/g));	     //[ 'i', 'i' ]
console.log(itbilu.search(/i/g));	     //4
console.log(itbilu.replace(/i/g, 'I'));	 //www.ItbIlu.com
console.log(itbilu.split('.'));	         //[ 'www', 'itbilu', 'com' ]


6. 字符串其它方法

一个ECMAScript 5中新增的方法:trim()trim()方法会去除字符串的前后空格,支持这个方法的浏览器为:IE9+及其它主流浏览器。

var itbilu = " www.itbilu.com ";
console.log(itbilu.trim());		//www.itbilu.com


String对象中,有一个用于字符串排序的方法: localeCompare(compareString),该方法有一个参数 - 要进行比较的字符串,返回的是下列三种情况之一:

  • 如果String对象按照字母顺序排在参数中的字符串之前,返回负数
  • 如果String对象等于参数中的字符串,返回0
  • 如果String对象按照字母顺序排在参数中的字符串之后,返回正数


String对象中还有一些HTML方法,这些方法可以简化常见的HTML格式化任务,但由于这些方法通常无法表达语意,所在不推荐使用:


方法名                 方法输出
anchor('itbilu')           <a name="itbilu">string</a>
big()                      <big>string</big> 
bold()                     <b>string</b> 
fixed()                    <tt>string</tt> 
fontcolor('red')           <font style="color:red;">string</font> 
fontsize(3)                <font style="font-size:small;">string</font> 
italics()                  <i>string</i> 
link(url)                  <a href="url">string</a>
small()                    <small>string</small>
strike()                   <strike>string</strike> 
sub()                      <sub>string</sub> 
sup()                      <sup>string</sup>