JavaScript 字符串对象

定义字符串的方法就是直接赋值。

charAt

charAt() 方法可返回指定位置的字符。返回的字符是长度为 1 的字符串。

语法

string.charAt(index)

参数

  1. index 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。

TIPS

字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)

如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串

实例

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>charAt</title>
<script type="text/javascript">
  	var mystr="Viti Theme";
  	document.write(mystr.charAt(2)); //t
</script>
</head>
<body>
</body>
</html>

indexOf()

indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法

string.indexOf(searchvalue,fromindex)

参数

  1. searchvalue 必需。规定需检索的字符串值。
  2. fromindex 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length – 1。如省略该参数,则将从字符串的首字符开始检索。

说明

  1. 该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring
  2. 可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找
  3. 如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的

TIPS

indexOf() 方法区分大小写

如果要检索的字符串值没有出现,则该方法返回 -1

实例

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>indexOf</title>
<script type="text/javascript">
    var mystr="Hello World!"
    document.write(mystr.indexOf("o",(mystr.indexOf("o")+1))); //7
</script>
</head>
<body>
</body>
</html>

split()

split()方法将字符串分割为字符串数组,并返回此数组。

语法

string.split(separator,limit)

参数

  1. separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject
  2. howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度

TIPS

如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

实例

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>split()</title>
<script type="text/javascript">
    var mystr="0371-888-9999"; 
    document.write(mystr.split("-") + "<br/>"); //0371,888,9999
    document.write(mystr.split("") + "<br/>"); //0,3,7,1,-,8,8,8,-,9,9,9,9
    document.write(mystr.split("",3)); //0,3,7
</script>
</head>
<body>
</body>
</html>

substring()

substring()方法用于提取字符串中介于两个指定下标之间的字符。

语法

string.substring(startint,stopint)

参数

  1. startint — 起始索引(必须), 索引从 0 开始,必须,一个非负整数
  2. stopint — 结束索引(可选),一个非负整数,如果省略那么返回的字符串会一直到字符串的结尾

TIPS

返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。

如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

实例

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>substring()</title>
<script type="text/javascript">
    var mystr="Hello World!"
    document.write(mystr.substring(6) + "<br />"); //World!
    document.write(mystr.substring(0,6)); //Hello
</script>
</head>
<body>
</body>
</html>

substr()

substr()方法从字符串中提取从 start位置开始的指定数目的字符串。

语法

string.substr(start,length)

参数

  1. start 必需。要抽取的子符串的起始下标。必须是数值。
  2. length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

TIPS

如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

如果startPos为负数且绝对值大于字符串长度,start为0。

实例

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>substr</title>
<script type="text/javascript">
    var str="Hello world!";
    document.write(str.substr(3)); //
</script>
</script>
</head>
<body>
</body>
</html>