JavaScript String 对象参考手册
2013-11-06 18:16
190 查看
JavaScriptString对象参考手册
当不用new运算符调用String()时,它只把s转换成原始的字符串,并返回转换后的值。
输出:
上面的代码将输出为纯粹的HTML:
请注意,JavaScript并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为1的字符串。
以上代码的输出是:
方法charCodeAt()与charAt()方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
以上代码的输出是:
concat()方法将把它的所有参数转换成字符串,然后按顺序连接到字符串stringObject的尾部,并返回连接后的字符串。请注意,stringObject本身并没有被更改。
stringObject.concat()与Array.concat()很相似。
以上代码的输出是:
它不能作为您已创建的String对象的方法来使用。因此它的语法应该是String.fromCharCode(),而不是myStringObject.fromCharCode()。
以上代码的输出:
注释:如果要检索的字符串值没有出现,则该方法返回-1。
以上代码的输出:
0开始的。
注释:如果要检索的字符串值没有出现,则该方法返回-1。
以上代码的输出:
localeCompare()方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。
该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
如果regexp没有标志g,那么match()方法就只能在stringObject中执行一次匹配。如果没有找到任何匹配的文本,match()将返回null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第0个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index属性声明的是匹配文本的起始字符在stringObject
中的位置,input属性声明的是对stringObject的引用。
如果regexp具有标志g,则match()方法将执行全局检索,找到stringObject中的所有匹配子字符串。若没有找到任何匹配的子串,则返回null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是stringObject中所有的匹配子串,而且也没有index属性或input属性。
注意:在全局检索模式下,match()即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。如果您需要这些全局检索的信息,可以使用RegExp.exec()。
输出:
输出:
replacement可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是replacement中的$字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
注意:ECMAScriptv3规定,replace()方法的参数replacement可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有0个或多个这样的参数。接下来的参数是一个整数,声明了匹配在stringObject
中出现的位置。最后一个参数是stringObject本身。
输出:
输出:
注释:如果没有找到任何匹配的子串,则返回-1。
输出:
在下面的例子中,无法检索到w3school(因为search()对大小写敏感)。
输出:
输出:
还要注意的是,String.slice()与Array.slice()相似。
输出:
输出:
但是,如果separator是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
注释:String.split()执行的操作与Array.join执行的操作是相反的。
输出:
或者使用正则表达式作为separator:
若只需要返回一部分字符,请使用howmany参数:
重要事项:ECMAscript没有对该方法进行标准化,因此反对使用它。
重要事项:在IE4中,参数start的值无效。在这个BUG中,start规定的是第0个字符的位置。在之后的版本中,此BUG已被修正。
输出:
输出:
如果参数start与stop相等,那么该方法返回的就是一个空串(即长度为0的字符串)。如果start比stop大,那么该方法在提取子串之前会先交换这两个参数。
重要事项:与slice()和substr()方法不同的是,substring()不接受负的参数。
输出:
亲自试一试
输出:
原始值是由从String对象下来的所有对象继承的。
valueOf()方法通常由JavaScript在后台自动进行调用,而不是显式地处于代码中。
String对象的length属性声明了该字符串中的字符数。
String类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
需要注意的是,JavaScript的字符串是不可变的(immutable),String类定义的方法都不能改变字符串的内容。像String.toUpperCase()这样的方法,返回的是全新的字符串,而不是修改原始字符串。
在较早的Netscape代码基的JavaScript实现中(例如Firefox实现中),字符串的行为就像只读的字符数组。例如,从字符串s中提取第三个字符,可以用s[2]代替更加标准的s.charAt(2)。此外,对字符串应用for/in循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript标准规定,不能枚举length属性)。因为字符串的数组行为不标准,所以应该避免使用它。
转自:http://www.w3school.com.cn/js/jsref_obj_string.asp
String对象
String对象用于处理文本(字符串)。创建String对象的语法:
newString(s);
String(s);
参数
参数s是要存储在String对象中或转换成原始字符串的值。返回值
当String()和运算符new一起作为构造函数使用时,它返回一个新创建的String对象,存放的是字符串s或s的字符串表示。当不用new运算符调用String()时,它只把s转换成原始的字符串,并返回转换后的值。
String对象属性
FF:Firefox,IE:InternetExplorer属性 | 描述 | FF | IE |
constructor | 对创建该对象的函数的引用 | 1 | 4 |
length | 字符串的长度 | 1 | 3 |
prototype | 允许您向对象添加属性和方法 | 1 | 4 |
length属性
定义和用法
length属性可返回字符串中的字符数目。语法
stringObject.length
实例
在本例中,我们将展示如何使用length属性来返回字符串中的字符数:<scripttype="text/javascript">
vartxt="HelloWorld!"
document.write(txt.length)
</script>
输出:
12
String对象方法
FF:Firefox,IE:InternetExplorer方法 | 描述 | FF | IE |
anchor() | 创建HTML锚。 | 1 | 3 |
big() | 用大号字体显示字符串。 | 1 | 3 |
blink() | 显示闪动字符串。 | 1 | |
bold() | 使用粗体显示字符串。 | 1 | 3 |
charAt() | 返回在指定位置的字符。 | 1 | 3 |
charCodeAt() | 返回在指定的位置的字符的Unicode编码。 | 1 | 4 |
concat() | 连接字符串。 | 1 | 4 |
fixed() | 以打字机文本显示字符串。 | 1 | 3 |
fontcolor() | 使用指定的颜色来显示字符串。 | 1 | 3 |
fontsize() | 使用指定的尺寸来显示字符串。 | 1 | 3 |
fromCharCode() | 从字符编码创建一个字符串。 | 1 | 4 |
indexOf() | 检索字符串。 | 1 | 3 |
italics() | 使用斜体显示字符串。 | 1 | 3 |
lastIndexOf() | 从后向前搜索字符串。 | 1 | 3 |
link() | 将字符串显示为链接。 | 1 | 3 |
localeCompare() | 用本地特定的顺序来比较两个字符串。 | 1 | 4 |
match() | 找到一个或多个正则表达式的匹配。 | 1 | 4 |
replace() | 替换与正则表达式匹配的子串。 | 1 | 4 |
search() | 检索与正则表达式相匹配的值。 | 1 | 4 |
slice() | 提取字符串的片断,并在新的字符串中返回被提取的部分。 | 1 | 4 |
small() | 使用小字号来显示字符串。 | 1 | 3 |
split() | 把字符串分割为字符串数组。 | 1 | 4 |
strike() | 使用删除线来显示字符串。 | 1 | 3 |
sub() | 把字符串显示为下标。 | 1 | 3 |
substr() | 从起始索引号提取字符串中指定数目的字符。 | 1 | 4 |
substring() | 提取字符串中两个指定的索引号之间的字符。 | 1 | 3 |
sup() | 把字符串显示为上标。 | 1 | 3 |
toLocaleLowerCase() | 把字符串转换为小写。 | - | - |
toLocaleUpperCase() | 把字符串转换为大写。 | - | - |
toLowerCase() | 把字符串转换为小写。 | 1 | 3 |
toUpperCase() | 把字符串转换为大写。 | 1 | 3 |
toSource() | 代表对象的源代码。 | 1 | - |
toString() | 返回字符串。 | - | - |
valueOf() | 返回某个字符串对象的原始值。 | 1 | 4 |
anchor()方法
定义和用法
anchor()方法用于创建HTML锚。stringObject.anchor(anchorname)
参数 | 描述 |
anchorname | 必需。为锚定义名称。 |
实例
在本例中,我们会为文本添加一个锚:<scripttype="text/javascript">
vartxt="Helloworld!"
document.write(txt.anchor("myanchor"))
</script>
上面的代码将输出为纯粹的HTML:
<aname="myanchor">Helloworld!</a>
big()方法
定义和用法
big()方法用于把字符串显示为大号字体。stringObject.big()
实例
在本例中,"Helloworld!"将被显示为大号字体:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.big())
</script>
blink()方法
定义和用法
blink()方法用于显示闪动的字符串。语法
stringObject.blink()
提示和注释
注释:此方法无法工作于InternetExplorer中。实例
在本例中,"Helloworld!"将被显示为闪动的文本:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.blink())
</script>
bold()方法
定义和用法
bold()方法用于把字符串显示为粗体。语法
stringObject.bold()
实例
在本例中,"Helloworld!"将被显示为粗体:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.bold())
</script>
charAt()方法
定义和用法
charAt()方法可返回指定位置的字符。请注意,JavaScript并没有一种有别于字符串类型的字符数据类型,所以返回的字符是长度为1的字符串。
语法
stringObject.charAt(index)
参数 | 描述 |
index | 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。 |
提示和注释
注释:字符串中第一个字符的下标是0。如果参数index不在0与string.length之间,该方法将返回一个空字符串。实例
在字符串"Helloworld!"中,我们将返回位置1的字符:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.charAt(1))
</script>
以上代码的输出是:
e
charCodeAt()方法
定义和用法
charCodeAt()方法可返回指定位置的字符的Unicode编码。这个返回值是0-65535之间的整数。方法charCodeAt()与charAt()方法执行的操作相似,只不过前者返回的是位于指定位置的字符的编码,而后者返回的是字符子串。
语法
stringObject.charCodeAt(index)
参数 | 描述 |
index | 必需。表示字符串中某个位置的数字,即字符在字符串中的下标。 |
提示和注释
注释:字符串中第一个字符的下标是0。如果index是负数,或大于等于字符串的长度,则charCodeAt()返回NaN。实例
在字符串"Helloworld!"中,我们将返回位置1的字符的Unicode编码:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.charCodeAt(1))
</script>
以上代码的输出是:
101
concat()方法
定义和用法
concat()方法用于连接两个或多个字符串。语法
stringObject.concat(stringX,stringX,...,stringX)
参数 | 描述 |
stringX | 必需。将被连接为一个字符串的一个或多个字符串对象。 |
stringObject.concat()与Array.concat()很相似。
提示和注释
提示:请注意,使用"+"运算符来进行字符串的连接运算通常会更简便一些。实例
在本例中,我们将创建两个字符串,然后使用concat()把它们显示为一个字符串:<scripttype="text/javascript">
varstr1="Hello"
varstr2="world!"
document.write(str1.concat(str2))
</script>
以上代码的输出是:
Helloworld!
fixed()方法
定义和用法
fixed()方法用于把字符串显示为打字机字体。语法
stringObject.fixed()
实例
在本例中,"Helloworld!"将被显示为打字机文本:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.fixed())
</script>
fontcolor()方法
定义和用法
fontcolor()方法用于按照指定的颜色来显示字符串。语法
stringObject.fontcolor(color)
参数 | 描述 |
color | 必需。为字符串规定font-color。该值必须是颜色名(red)、RGB值(rgb(255,0,0))或者十六进制数(#FF0000)。 |
实例
在本例中,"Helloworld!"将显示为红色:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.fontcolor("Red"))
</script>
fontsize()方法
定义和用法
fontsize()方法用于按照指定的尺寸来显示字符串。语法
stringObject.fontsize(size)
提示和注释
注释:size参数必须是从1至7的数字。实例
在本例中,"Helloworld!"将显示为大号字:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.fontsize(7))
</script>
fromCharCode()方法
定义和用法
fromCharCode()可接受一个指定的Unicode值,然后返回一个字符串。语法
String.fromCharCode(numX,numX,...,numX)
参数 | 描述 |
numX | 必需。一个或多个Unicode值,即要创建的字符串中的字符的Unicode编码。 |
提示和注释
注释:该方法是String的静态方法,字符串中的每个字符都由单独的数字Unicode编码指定。它不能作为您已创建的String对象的方法来使用。因此它的语法应该是String.fromCharCode(),而不是myStringObject.fromCharCode()。
实例
在本例中,我们将根据Unicode来输出"HELLO"和"ABC":<scripttype="text/javascript">
document.write(String.fromCharCode(72,69,76,76,79))
document.write("<br/>")
document.write(String.fromCharCode(65,66,67))
</script>
以上代码的输出:
HELLO
ABC
indexOf()方法
定义和用法
indexOf()方法可返回某个指定的字符串值在字符串中首次出现的位置。语法
stringObject.indexOf(searchvalue,fromindex)
参数 | 描述 |
searchvalue | 必需。规定需检索的字符串值。 |
fromindex | 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObject.length-1。如省略该参数,则将从字符串的首字符开始检索。 |
说明
该方法将从头到尾地检索字符串stringObject,看它是否含有子串searchvalue。开始检索的位置在字符串的fromindex处或字符串的开头(没有指定fromindex时)。如果找到一个searchvalue,则返回searchvalue的第一次出现的位置。stringObject中的字符位置是从0开始的。提示和注释
注释:indexOf()方法对大小写敏感!注释:如果要检索的字符串值没有出现,则该方法返回-1。
实例
在本例中,我们将在"Helloworld!"字符串内进行不同的检索:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.indexOf("Hello")+"<br/>")
document.write(str.indexOf("World")+"<br/>")
document.write(str.indexOf("world"))
</script>
以上代码的输出:
0
-1
6
italics()方法
定义和用法
italics()方法用于把字符串显示为斜体。语法
stringObject.italics()
实例
在本例中,"Helloworld!"将被显示为斜体:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.italics())
</script>
lastIndexOf()方法
定义和用法
lastIndexOf()方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。语法
stringObject.lastIndexOf(searchvalue,fromindex)
参数 | 描述 |
searchvalue | 必需。规定需检索的字符串值。 |
fromindex | 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是0到stringObject.length-1。如省略该参数,则将从字符串的最后一个字符处开始检索。 |
返回值
如果在stringObject中的fromindex位置之前存在searchvalue,则返回的是出现的最后一个searchvalue的位置。说明
该方法将从尾到头地检索字符串stringObject,看它是否含有子串searchvalue。开始检索的位置在字符串的fromindex处或字符串的结尾(没有指定fromindex时)。如果找到一个searchvalue,则返回searchvalue的第一个字符在stringObject中的位置。stringObject中的字符位置是从0开始的。
提示和注释
注释:lastIndexOf()方法对大小写敏感!注释:如果要检索的字符串值没有出现,则该方法返回-1。
实例
在本例中,我们将在"Helloworld!"字符串内进行不同的检索:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.lastIndexOf("Hello")+"<br/>")
document.write(str.lastIndexOf("World")+"<br/>")
document.write(str.lastIndexOf("world"))
</script>
以上代码的输出:
0
-1
6
link()方法
定义和用法
link()方法用于把字符串显示为超链接。语法
stringObject.link(url)
参数 | 描述 |
url | 必需。规定要链接的URL。 |
实例
在本例中,"FreeWebTutorials!"将被显示为超链接:<scripttype="text/javascript">
varstr="FreeWebTutorials!"
document.write([code]str.link("http://www.w3school.com.cn"))[/code]
</script>
localeCompare()方法
定义和用法
用本地特定的顺序来比较两个字符串。语法
stringObject.localeCompare(target)
参数 | 描述 |
target | 要以本地特定的顺序与stringObject进行比较的字符串。 |
返回值
说明比较结果的数字。如果stringObject小于target,则localeCompare()返回小于0的数。如果stringObject大于target,则该方法返回大于0的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回0。说明
把<和>运算符应用到字符串时,它们只用字符的Unicode编码比较字符串,而不考虑当地的排序规则。以这种方法生成的顺序不一定是正确的。例如,在西班牙语中,其中字符“ch”通常作为出现在字母“c”和“d”之间的字符来排序。localeCompare()方法提供的比较字符串的方法,考虑了默认的本地排序规则。ECMAscript标准并没有规定如何进行本地特定的比较操作,它只规定该函数采用底层操作系统提供的排序规则。
实例
在本例中,我们将用本地特定排序规则对字符串数组进行排序:varstr;
str.sort(function(a,b){returna.localeCompare(b)})
match()方法
定义和用法
match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。该方法类似indexOf()和lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
语法
stringObject.match(searchvalue)
stringObject.match(regexp)
参数 | 描述 |
searchvalue | 必需。规定要检索的字符串值。 |
regexp | 必需。规定要匹配的模式的RegExp对象。如果该参数不是RegExp对象,则需要首先把它传递给RegExp构造函数,将其转换为RegExp对象。 |
返回值
存放匹配结果的数组。该数组的内容依赖于regexp是否具有全局标志g。说明
match()方法将检索字符串stringObject,以找到一个或多个与regexp匹配的文本。这个方法的行为在很大程度上有赖于regexp是否具有标志g。如果regexp没有标志g,那么match()方法就只能在stringObject中执行一次匹配。如果没有找到任何匹配的文本,match()将返回null。否则,它将返回一个数组,其中存放了与它找到的匹配文本有关的信息。该数组的第0个元素存放的是匹配文本,而其余的元素存放的是与正则表达式的子表达式匹配的文本。除了这些常规的数组元素之外,返回的数组还含有两个对象属性。index属性声明的是匹配文本的起始字符在stringObject
中的位置,input属性声明的是对stringObject的引用。
如果regexp具有标志g,则match()方法将执行全局检索,找到stringObject中的所有匹配子字符串。若没有找到任何匹配的子串,则返回null。如果找到了一个或多个匹配子串,则返回一个数组。不过全局匹配返回的数组的内容与前者大不相同,它的数组元素中存放的是stringObject中所有的匹配子串,而且也没有index属性或input属性。
注意:在全局检索模式下,match()即不提供与子表达式匹配的文本的信息,也不声明每个匹配子串的位置。如果您需要这些全局检索的信息,可以使用RegExp.exec()。
实例
例子1
在本例中,我们将在"Helloworld!"中进行不同的检索:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.match("world")+"<br/>")
document.write(str.match("World")+"<br/>")
document.write(str.match("worlld")+"<br/>")
document.write(str.match("world!"))
</script>
输出:
world
null
null
world!
例子2
在本例中,我们将使用全局匹配的正则表达式来检索字符串中的所有数字:<scripttype="text/javascript">
varstr="1plus2equal3"
document.write([code]str.match(/\d+/g))[/code]
</script>
输出:
1,2,3
replace()方法
定义和用法
replace()方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。语法
stringObject.replace(regexp/substr,replacement)
参数 | 描述 |
regexp/substr | 必需。规定子字符串或要替换的模式的RegExp对象。 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为RegExp对象。 |
replacement | 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 |
返回值
一个新的字符串,是用replacement替换了regexp的第一次匹配或所有匹配之后得到的。说明
字符串stringObject的replace()方法执行的是查找并替换的操作。它将在stringObject中查找与regexp相匹配的子字符串,然后用replacement来替换这些子串。如果regexp具有全局标志g,那么replace()方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。replacement可以是字符串,也可以是函数。如果它是字符串,那么每个匹配都将由字符串替换。但是replacement中的$字符具有特定的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
字符 | 替换文本 |
$1、$2、...、$99 | 与regexp中的第1到第99个子表达式相匹配的文本。 |
$& | 与regexp相匹配的子串。 |
$` | 位于匹配子串左侧的文本。 |
$' | 位于匹配子串右侧的文本。 |
$$ | 直接量符号。 |
中出现的位置。最后一个参数是stringObject本身。
实例
例子1
在本例中,我们将使用"W3School"替换字符串中的"Microsoft":<scripttype="text/javascript">
varstr="VisitMicrosoft!"
document.write([code]str.replace(/Microsoft/,"W3School"))[/code]
</script>
输出:
VisitW3School!
例子2
在本例中,我们将执行一次全局替换,每当"Microsoft"被找到,它就被替换为"W3School":<scripttype="text/javascript">
varstr="WelcometoMicrosoft!"
str=str+"WeareproudtoannouncethatMicrosofthas"
str=str+"oneofthelargestWebDeveloperssitesintheworld."
document.write([code]str.replace(/Microsoft/g,"W3School"))[/code]
</script>
输出:
WelcometoW3School!WeareproudtoannouncethatW3School
hasoneofthelargestWebDeveloperssitesintheworld.
例子3
您可以使用本例提供的代码来确保匹配字符串大写字符的正确:text="javascriptTutorial";
text.replace(/javascript/i,"JavaScript");
例子4
在本例中,我们将把"Doe,John"转换为"JohnDoe"的形式:name="Doe,John";
name.replace(/(\w+)\s*,\s*(\w+)/,"$2$1");
例子5
在本例中,我们将把所有的花引号替换为直引号:name='"a","b"';
name.replace(/"([^"]*)"/g,"'$1'");
例子6
在本例中,我们将把字符串中所有单词的首字母都转换为大写:name='aaabbbccc';
uw=name.replace(/\b\w+\b/g,function(word){
returnword.substring(0,1).toUpperCase()+word.substring(1);}
);
search()方法
定义和用法
search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。语法
stringObject.search(regexp)
参数 | 描述 |
regexp | 该参数可以是需要在stringObject中检索的子串,也可以是需要检索的RegExp对象。 注释:要执行忽略大小写的检索,请追加标志i。 |
返回值
stringObject中第一个与regexp相匹配的子串的起始位置。注释:如果没有找到任何匹配的子串,则返回-1。
说明
search()方法不执行全局匹配,它将忽略标志g。它同时忽略regexp的lastIndex属性,并且总是从字符串的开始进行检索,这意味着它总是返回stringObject的第一个匹配的位置。实例
例子1
在本例中,我们将检索"W3School":<scripttype="text/javascript">
varstr="VisitW3School!"
document.write(str.search(/W3School/))
</script>
输出:
6
在下面的例子中,无法检索到w3school(因为search()对大小写敏感)。
<scripttype="text/javascript">
varstr="VisitW3School!"
document.write(str.search(/w3school/))
</script>
输出:
-1
例子2
在本例中,我们将执行一次忽略大小写的检索:<scripttype="text/javascript">
varstr="VisitW3School!"
document.write(str.search(/w3school/i))
</script>
输出:
6
slice()方法
定义和用法
slice()方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。语法
stringObject.slice(start,end)
参数 | 描述 |
start | 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1指字符串的最后一个字符,-2指倒数第二个字符,以此类推。 |
end | 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括start到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。 |
返回值
一个新的字符串。包括字符串stringObject从start开始(包括start)到end结束(不包括end)为止的所有字符。说明
String对象的方法slice()、substring()和substr()(不建议使用)都可返回字符串的指定部分。slice()比substring()要灵活一些,因为它允许使用负数作为参数。slice()与substr()有所不同,因为它用两个字符的位置来指定子串,而substr()则用字符位置和长度来指定子串。还要注意的是,String.slice()与Array.slice()相似。
实例
例子1
在本例中,我们将提取从位置6开始的所有字符:<scripttype="text/javascript">
varstr="Hellohappyworld!"
document.write(str.slice(6))
</script>
输出:
happyworld!
例子2
在本例中,我们将提取从位置6到位置11的所有字符:<scripttype="text/javascript">
varstr="Hellohappyworld!"
document.write(str.slice(6,11))
</script>
输出:
happy
small()方法
定义和用法
small()方法用于把字符串显示为小号字。语法
stringObject.small()
实例
在本例中,"Helloworld!"将显示为小号字:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.small())
</script>
split()方法
定义和用法
split()方法用于把一个字符串分割成字符串数组。语法
stringObject.split(separator,howmany)
参数 | 描述 |
separator | 必需。字符串或正则表达式,从该参数指定的地方分割stringObject。 |
howmany | 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 |
返回值
一个字符串数组。该数组是通过在separator指定的边界处将字符串stringObject分割成子串创建的。返回的数组中的字串不包括separator自身。但是,如果separator是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。
提示和注释
注释:如果把空字符串("")用作separator,那么stringObject中的每个字符之间都会被分割。注释:String.split()执行的操作与
实例
例子1
在本例中,我们将按照不同的方式来分割字符串:<scripttype="text/javascript">
varstr="Howareyoudoingtoday?"
document.write(str.split("")+"<br/>")
document.write(str.split("")+"<br/>")
document.write(str.split("",3))
</script>
输出:
How,are,you,doing,today?
H,o,w,,a,r,e,,y,o,u,,d,o,i,n,g,,t,o,d,a,y,?
How,are,you
例子2
在本例中,我们将分割结构更为复杂的字符串:"2:3:4:5".split(":")//将返回["2","3","4","5"]
"|a|b|c".split("|")//将返回["","a","b","c"]
例子3
使用下面的代码,可以把句子分割成单词:varwords=sentence.split('')
或者使用正则表达式作为separator:
varwords=sentence.split(/\s+/)
例子4
如果您希望把单词分割为字母,或者把字符串分割为字符,可使用下面的代码:"hello".split("")//可返回["h","e","l","l","o"]
若只需要返回一部分字符,请使用howmany参数:
"hello".split("",3)//可返回["h","e","l"]
strike()方法
定义和用法
strike()方法用于显示加删除线的字符串。语法
stringObject.strike()
实例
在本例中,"Helloworld!"将被加上一条删除线:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.strike())
</script>
sub()方法
定义和用法
sub()方法用于把字符串显示为下标。语法
stringObject.sub()
实例
在本例中,"Helloworld!"将被显示为下标:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.sub())
</script>
substr()方法
定义和用法
substr()方法可在字符串中抽取从start下标开始的指定数目的字符。语法
stringObject.substr(start,length)
参数 | 描述 |
start | 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1指字符串中最后一个字符,-2指倒数第二个字符,以此类推。 |
length | 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从stringObject的开始位置到结尾的字串。 |
返回值
一个新的字符串,包含从stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定length,那么返回的字符串包含从start到stringObject的结尾的字符。提示和注释
注释:substr()的参数指定的是子串的开始位置和长度,因此它可以替代substring()和slice()来使用。重要事项:ECMAscript没有对该方法进行标准化,因此反对使用它。
重要事项:在IE4中,参数start的值无效。在这个BUG中,start规定的是第0个字符的位置。在之后的版本中,此BUG已被修正。
实例
例子1
在本例中,我们将使用substr()从字符串中提取一些字符:<scripttype="text/javascript">
varstr="Helloworld!"
document.write([code]str.substr(3))[/code]
</script>
输出:
loworld!
例子2
在本例中,我们将使用substr()从字符串中提取一些字符:<scripttype="text/javascript">
varstr="Helloworld!"
document.write([code]str.substr(3,7))[/code]
</script>
输出:
loworl
substring()方法
定义和用法
substring()方法用于提取字符串中介于两个指定下标之间的字符。语法
stringObject.substring(start,stop)
参数 | 描述 |
start | 必需。一个非负的整数,规定要提取的子串的第一个字符在stringObject中的位置。 |
stop | 可选。一个非负的整数,比要提取的子串的最后一个字符在stringObject中的位置多1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
返回值
一个新的字符串,该字符串值包含stringObject的一个子字符串,其内容是从start处到stop-1处的所有字符,其长度为stop减start。说明
substring()方法返回的子串包括start处的字符,但不包括stop处的字符。如果参数start与stop相等,那么该方法返回的就是一个空串(即长度为0的字符串)。如果start比stop大,那么该方法在提取子串之前会先交换这两个参数。
重要事项:与slice()和substr()方法不同的是,substring()不接受负的参数。
实例
例子1
在本例中,我们将使用substring()从字符串中提取一些字符:<scripttype="text/javascript">
varstr="Helloworld!"
document.write([code]str.substring(3))[/code]
</script>
输出:
loworld!
例子2
在本例中,我们将使用substring()从字符串中提取一些字符:<scripttype="text/javascript">
varstr="Helloworld!"
document.write([code]str.substring(3,7))[/code]
</script>
输出:
low
sup()方法
定义和用法
sup()方法用于把字符串显示为上标。语法
stringObject.sup()
实例
在本例中,"Helloworld!"将被显示为上标:<scripttype="text/javascript">
varstr="Helloworld!"
document.write(str.sup())
</script>
toLocaleLowerCase()方法
定义和用法
toLocaleLowerCase()方法用于把字符串转换为小写。语法
stringObject.toLocaleLowerCase()
返回值
一个新的字符串,在其中stringObject的所有大写字符全部被转换为了小写字符。说明
与toLowerCase()不同的是,toLocaleLowerCase()方法按照本地方式把字符串转换为小写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与toLowerCase()一样。实例
在本例中,"Helloworld!"将以小写字母来显示:<scripttype="text/javascript">
varstr="HelloWorld!"
document.write(str.toLocaleLowerCase())
</script>
toLocaleUpperCase()方法
定义和用法
toLocaleUpperCase()方法用于把字符串转换为大写。语法
stringObject.toLocaleUpperCase()
返回值
一个新的字符串,在其中stringObject的所有小写字符全部被转换为了大写字符。说明
与toUpperCase()不同的是,toLocaleUpperCase()方法按照本地方式把字符串转换为大写。只有几种语言(如土耳其语)具有地方特有的大小写映射,所有该方法的返回值通常与toUpperCase()一样。实例
在本例中,"Helloworld!"将以大写字母来显示:<scripttype="text/javascript">
varstr="HelloWorld!"
document.write(str.toLocaleUpperCase())
</script>
toLowerCase()方法
定义和用法
toLowerCase()方法用于把字符串转换为小写。语法
stringObject.toLowerCase()
返回值
一个新的字符串,在其中stringObject的所有大写字符全部被转换为了小写字符。实例
在本例中,"Helloworld!"将以小写字母来显示:<scripttype="text/javascript">
varstr="HelloWorld!"
document.write(str.toLowerCase())
</script>
toUpperCase()方法
定义和用法
toUpperCase()方法用于把字符串转换为大写。语法
stringObject.toUpperCase()
返回值
一个新的字符串,在其中stringObject的所有小写字符全部被转换为了大写字符。实例
在本例中,"Helloworld!"将以大写字母来显示:<scripttype="text/javascript">
varstr="HelloWorld!"
document.write(str.toUpperCase())
</script>
toString()方法
定义和用法
toString()方法返回字符串。语法
stringObject.toString()
返回值
stringObject的原始字符串值。一般不会调用该方法。抛出
当调用该方法的对象不是String时抛出TypeError异常。valueOf()方法
定义和用法
valueOf()方法可返回String对象的原始值。原始值是由从String对象下来的所有对象继承的。
valueOf()方法通常由JavaScript在后台自动进行调用,而不是显式地处于代码中。
语法
stringObject.valueOf()
抛出
当调用该方法的对象不是String时抛出TypeError异常。String对象描述
字符串是JavaScript的一种基本的数据类型。String对象的length属性声明了该字符串中的字符数。
String类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串。
需要注意的是,JavaScript的字符串是不可变的(immutable),String类定义的方法都不能改变字符串的内容。像String.toUpperCase()这样的方法,返回的是全新的字符串,而不是修改原始字符串。
在较早的Netscape代码基的JavaScript实现中(例如Firefox实现中),字符串的行为就像只读的字符数组。例如,从字符串s中提取第三个字符,可以用s[2]代替更加标准的s.charAt(2)。此外,对字符串应用for/in循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript标准规定,不能枚举length属性)。因为字符串的数组行为不标准,所以应该避免使用它。
转自:
相关文章推荐
- JavaScript RegExp 对象参考手册
- 《cv中文参考手册-图像轮廓处理-结构分析与形状识别-获取各个对象的质心》HuMoments
- JavaScript String 对象参考手册
- PHP - Manual手册 - 语言参考 - 类与对象(PHP 5)- Class Abstraction类抽象
- Javascript String对象参考手册
- JavaScript 函数参考手册(全局对象)
- JavaScript RegExp 对象参考手册
- JavaScript Date 对象参考手册
- JavaScript核心对象参考手册-------window对象
- JavaScript String 对象参考手册
- JavaScript Date 对象参考手册
- JavaScript Date 对象参考手册
- JavaScript Array 对象参考手册
- JavaScript Date 对象参考手册
- JavaScript RegExp 对象参考手册--整理
- python参考手册--第3章类型和对象
- JavaScript Math 对象的参考手册
- GObject参考手册(10)--GObject的对象属性
- 2016.11.10 js对象参考手册(数组,Date )
- JavaScript Number 对象参考手册