PHP生活

记录生活里的一分一秒

PHP生活

记录生活里的一分一秒

javaScript数据类型:字符串属性及方法

  前面我们已经为大家介绍了javaScript数据类型,相信大家对其有所了解了,那么下面phplife.net就为大家在介绍下javaScript数据类型中的字符串属性及方法,让大家可以进一步了解字符串的一些功能,更好地使用字符串。

  (1)字符串属性—length

  String.length表示获取字符串中的字符长度数。(String表示具体的字符串变量)

  (2)字符串方法

  1)String.charAt(n)。该方法String.charAt()返回字符串string中的第n个字符。字符串中第一个字符的下标值是0。如果参数n不在0和string.length-1之间,该方法将返回一个空字符串。注意,JavaScript并没有一种有异于字符串类型的字符数据类型,所以返回的字符是长度为1的字符串。

  2)String.concat(value, …)。该方法将把它的所有参数都转换成字符串(如果必要),然后按顺序连接到字符串string的尾部,返回连接后的字符串。注意,string自身并没有被修改。参数value就是要连接到string上的一个或多个值。

  3)String.indexOf( )检索字符串。该方法的主要语法有:string.indexOf(substring)string.indexOf(substring,start)。既将从头到尾的检索字符串string,看它是否含有子串 substring。开始检索的位置在字符串string的start处或string的开头(没有 指定start参数时)。如果找到了一个substring那么String.indexOf()将返回 substring的第一个字符在string中的位置。string中的字符位置是从0开始的。如果在string中没有找到substring,那么String.indexOf()方法将返回-1。

  4)String.lastIndexOf( )从后向前检索一个字符串。主要使用语法string.lastIndexOf(substring),string.lastIndexOf(substring, start),既将从尾到头的检索字符串string看它是否含有子串 substring。开始检索的位置在字符串string的start处或string的结尾(没有 指定start参数时)。如果找到了一个substring,那么String.lastIndexOf()将返回substring的第一个字符在string中的位置。由于是从尾到头的检索一个字符串,所以找到的第一个substring其实是string中出现在位置start之前的最后一个substring。如果在string中没有找到substring,那么该方法将返回-1。

  注意,虽然String.1astIndexOf()是从尾到头的检索字符串string,但是它返回的字符位置仍然是从头开始计算的。字符串中第一个字符的位置是0,最后—个字符的位置是string.1ength-1。同时start处与indexOf( )是一样的开始处,但是其是从start处往前检索的。

  5)String.slice(start, end)抽取一个子串。该方法将返回一个含有字符串string的片段的字符串或返回它的一个子串,在这个返回值中包括字符串string从start开始(包括start)到end为止(不包 括end)的所有字符。但是该方法不修改string。这里为大家讲解下该方法的参数:

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

  end 紧接着要抽取的片段的结尾的下标。如果没有指定这一参数,那么要抽取的子串包括start到原字符串结尾的字符串。如果该参数是负数,那么它声明了从字符串的尾部开始算起的位置。

  注意方法slice(n)也可以只有一个参数,此时返回的值是从n开始之后的字符串。

  示例
  var s = “abcdefg”;
  s.slice(0,4)    // 返回 “abcd”
  s.slice(2,4)    // 返回 “cd”
  s.slice(4)      // 返回 “efg”
  s.slice(3,-1)   // 返回 “def”
  s.slice(3,-2)   // 返回 “de”
  s.slice(-3,-1)  // 应该返回 “ef”;返回“abcdef” in IE 4

  String对象的方法slice()、substring()和substr()(不建议使用)都返回字符串的指定部分。slice()比substring()要灵活一些,因为它允许使用负数作为参数。slice()与substr()有所不同, 因为它用两个字符的位置指定子串,而substr()则用字符位置和长度来指定子串。还要注意的是,String.slice()与Array.slice()相似。

  6)String.substring(from, to)返回字符串的一个子串。该方法将返回字符串string的子串,由from到to之间的字符构成, 包括位于from的字符,不包括位于to的字符。如果参数from与to相等,那么该方法返回的就是一个空串(即长度为0的字符串)。 如果from比to大,那么该方法在抽取子串之前会先交换这两个参数。

  要记住,该子串包括from处的字符,不包括to处的字符。虽然这样看来有违直觉, 但这种系统一个值得注意重要特性是,返回的子串的长度总等于to-from(这只是将对于from、to的值都是正数)。同时如果省略了to参数,返回的子串直到字符串的结尾。如果from、to的值有为负数的直接取0。

  7)String.substr(start, length)抽取一个子串。该方法主要是将在string中抽取并返回一个子串。但是它并不修改string。对于该方法的参数请看下面的解释:

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

  length 子串中的字符数。如果省略了这个参数,那么返回从string的开始位置到结尾的子串。

  注意,substr()指定的是子串的开始位置和长度,它是String.substring()和String.splice()的一种有用的替代方法,后两者指定的都是起始字符的位置。但要注意,ECMAScript没有标准化该方法,因此反对使用它。

  示例
  var s = “abcdefg”;
  s.substr(2,2);   // 返回 “cd”
  s.substr(3);     // 返回 “defg”
  s.substr(-3,2);  // 应该返回 “ef”; 在IE4中返回 “ab”

  8)String.toLocaleLowerCase( )把字符串转换小写。该方法的返回值是string的一个副本,按照本地方式转换成小写字母。只有几种语言(如土耳其语)具有地方特有的大小写映射,所以该方法的返回值通常与toLowerCase()一样。

  9)String.toLocaleUpperCase( )将字符串转换成大写。该方法的返回值是string的一个副本,按照本地方式转换成了大写字母。只有几种语言(如土耳其语) 具有地方特有的大小写映射,所以该方法的返回值通常与toUpperCase()一样。

  10)String.toLowerCase( )将字符串转换成小写。该方法的返回值是string的一个副本,其中所有大写字符都被转换成了小写字符。

  11)String.toUpperCase( )将字符串转换成大写。该方法的返回值是string的一个副本,其中所有小写字符都被转换成了大写的。

  12)String.split( )将字符串分割成字符串数组。

  语法

  string.split(delimiter, limit)

  参数

  delimiter

  字符串或正则表达式,从该参数指定的地方分割string。ECMAScript V3标准化了正则表达式作为定界符使用时的用法,JavaScript 1.2和JScript 3.0实现了它。JavaScriptl.1没有实现它。

  limit

  这个可选的整数指定了返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数字。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。ECMAScriptv3标准化了该参数,JavaScript 1.2和JScript 3.0实现了它。JavaScript 1.1没有实现它。

  返回值

  一个字符串数组,是通过在delimiter指定的边界处将字符串string分割成子串创建的。返回的数组中的子串不包括delimiter自身,但下面列出的情况除外。

  描述

  方法split()将创建并返回一个字符串数组,该数组中的元素是指定的字符串string 的子串,最多具有limit个。这些子串是通过从头到尾检索字符串中与delimiter 匹配的文本,在匹配文本之前和之后分割string得到的。返回的子串中不包括定界符 文本(下面提到的情况除外)。如果定界符从字符串开头开始匹配,返回的数组的第一个元素是空串,即出现在定界符之前的文本。同样,如果定界符与字符串的结尾匹 配,返回的数组的最后一个元素也是空串(假定与limit没有冲突)。

  如果没有指定delimiter,那么它根本就不对string执行分割,返回的数组中只有一个元素,而不分割字符串元素。如果delimiter是一个空串或与空串匹配的正则表 达式,那么string中的每个字符之间都会被分割,返回的数组的长度与字符串长度相 等(假定王imic不小于该长度)。(注意,这是一种特殊情况,因为没有匹配第一个字符之前和最后一个字符之后的空串。)

  前面说过,该方法返回的数组中的子串不包括用于分割字符串的定界符文本。但如果delimiter是包括子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹 配的子串(但不包括与整个正则表达式匹配的文本)。

  注意,String.split()执行的操作与Array.join()执行的操作相反。

  13)String.toString( )、String.valueOf( )返回字符串。返回值是string的原始字符串值。一般不会调用该方法。

  关于字符串属性及方法就说到这了,这里基本是介绍一些常用的方法,如果还需要的话,phplife.net会在第一时间进行补充说明的。

javaScript数据类型:字符串属性及方法

发表回复

滚动到顶部