[TOC] >[info]String 对象用于处理文本(字符串)。下面列举一些范例。 ## length 属性 >[info]length 属性可返回字符串中的字符数目。 ~~~ <script type="text/javascript"> var txt="Hello World!" document.write(txt.length) </script> ~~~ ## charAt() 方法 >[info]charAt() 方法可返回指定位置的字符。 在字符串 "Hello world!" 中,我们将返回位置 1 的字符: ~~~ <script type="text/javascript"> var str="Hello world!" document.write(str.charAt(1)) </script> ~~~ >[danger]参数:表示字符串中某个位置的数字,即字符在字符串中的下标。 ## slice() 方法 >[info]slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。 ~~~ <script type="text/javascript"> stringObject.slice(start,end); </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> start </td> <td> 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。 </td> </tr> <tr> <td> end </td> <td> 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。 </td> </tr> </tbody> 在本例中,我们将提取从位置 6 到位置 11 的所有字符: ~~~ <script type="text/javascript"> var str="Hello happy world!" document.write(str.slice(6,11)) </script> ~~~ ## substr() 方法 >[info]substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 ~~~ <script type="text/javascript"> stringObject.substr(start,length) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> <i> start </i> </td> <td> 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。 </td> </tr> <tr> <td> <i> length </i> </td> <td> 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 <i> stringObject </i> 的开始位置到结尾的字串。 </td> </tr> </tbody> </table> 在本例中,我们将使用 substr() 从字符串中提取一些字符: ~~~ <script type="text/javascript"> var str="Hello world!" document.write(str.substr(3,7)) </script> ~~~ ## indexOf() 方法 >[info]indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。 ~~~ <script type="text/javascript"> stringObject.indexOf(searchvalue,fromindex) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> searchvalue </td> <td> 必需。规定需检索的字符串值。 </td> </tr> <tr> <td> fromindex </td> <td> 可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。 </td> </tr> </tbody> </table> 在本例中,我们将在 "Hello world!" 字符串内进行不同的检索: ~~~ <script type="text/javascript"> var str="Hello world!" document.write(str.indexOf("world") + "<br />") </script> ~~~ ## match() 方法 >[info]match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。 ~~~ <script type="text/javascript"> stringObject.match(searchvalue) stringObject.match(regexp) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> searchvalue </td> <td> 必需。规定要检索的字符串值。 </td> </tr> <tr> <td> regexp </td> <td> 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。 </td> </tr> </tbody> </table> 在本例中,我们将在 "Hello world!" 中进行不同的检索: ~~~ <script type="text/javascript"> var str="Hello world!" document.write(str.match("world") + "<br />") document.write(str.match("World") + "<br />") document.write(str.match("worlld") + "<br />") document.write(str.match("world!")) </script> ~~~ ## replace()方法 >[info]replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 ~~~ <script type="text/javascript"> stringObject.replace(regexp/substr,replacement) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> regexp/substr </td> <td> <p> 必需。规定子字符串或要替换的模式的 RegExp 对象。 </p> <p> 请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。 </p> </td> </tr> <tr> <td> replacement </td> <td> 必需。一个字符串值。规定了替换文本或生成替换文本的函数。 </td> </tr> </tbody> </table> 在本例中,我们将使用 "xuebingsi" 替换字符串中的 "Microsoft": ~~~ <script type="text/javascript"> var str="Visit Microsoft!" document.write(str.replace(/Microsoft/, "xuebingsi")) </script> ~~~ ## split()方法 >[info]split() 方法用于把一个字符串分割成字符串数组。 ~~~ <script type="text/javascript"> stringObject.split(separator,howmany) </script> ~~~ <table class="dataintable"> <tbody> <tr> <th> 参数 </th> <th> 描述 </th> </tr> <tr> <td> separator </td> <td> 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。 </td> </tr> <tr> <td> howmany </td> <td> 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。 </td> </tr> </tbody> </table> 在本例中,我们将按照不同的方式来分割字符串: ~~~ <script type="text/javascript"> var str="How are you doing today?" document.write(str.split(" ") + "<br />") document.write(str.split("") + "<br />") document.write(str.split(" ",3)) </script> ~~~ ## toLowerCase()方法 >[info]toLowerCase() 方法用于把字符串转换为小写。 ~~~ <script type="text/javascript"> stringObject.toLowerCase() </script> ~~~ ## toUpperCase()方法 >[info]toUpperCase() 方法用于把字符串转换为大写。 ~~~ <script type="text/javascript"> stringObject.toUpperCase() </script> ~~~ >[danger]**作业:**把字符串 “NidfdegdHdrE” 写一个函数转成 “nIDFDEGDhDRe”。 <table class="dataintable"> <tbody> <tr> <th style="width:30%"> 方法 </th> <th> 描述 </th> </tr> <tr> <td> <a> anchor() </a> </td> <td> 创建 HTML 锚。 </td> </tr> <tr> <td> <a> big() </a> </td> <td> 用大号字体显示字符串。 </td> </tr> <tr> <td> <a> blink() </a> </td> <td> 显示闪动字符串。 </td> </tr> <tr> <td> <a> bold() </a> </td> <td> 使用粗体显示字符串。 </td> </tr> <tr> <td> <a> charAt() </a> </td> <td> 返回在指定位置的字符。 </td> </tr> <tr> <td> <a> charCodeAt() </a> </td> <td> 返回在指定的位置的字符的 Unicode 编码。 </td> </tr> <tr> <td> <a> concat() </a> </td> <td> 连接字符串。 </td> </tr> <tr> <td> <a> fixed() </a> </td> <td> 以打字机文本显示字符串。 </td> </tr> <tr> <td> <a> fontcolor() </a> </td> <td> 使用指定的颜色来显示字符串。 </td> </tr> <tr> <td> <a> fontsize() </a> </td> <td> 使用指定的尺寸来显示字符串。 </td> </tr> <tr> <td> <a> fromCharCode() </a> </td> <td> 从字符编码创建一个字符串。 </td> </tr> <tr> <td> <a> indexOf() </a> </td> <td> 检索字符串。 </td> </tr> <tr> <td> <a> italics() </a> </td> <td> 使用斜体显示字符串。 </td> </tr> <tr> <td> <a> lastIndexOf() </a> </td> <td> 从后向前搜索字符串。 </td> </tr> <tr> <td> <a> link() </a> </td> <td> 将字符串显示为链接。 </td> </tr> <tr> <td> <a> localeCompare() </a> </td> <td> 用本地特定的顺序来比较两个字符串。 </td> </tr> <tr> <td> <a> match() </a> </td> <td> 找到一个或多个正则表达式的匹配。 </td> </tr> <tr> <td> <a> replace() </a> </td> <td> 替换与正则表达式匹配的子串。 </td> </tr> <tr> <td> <a> search() </a> </td> <td> 检索与正则表达式相匹配的值。 </td> </tr> <tr> <td> <a> slice() </a> </td> <td> 提取字符串的片断,并在新的字符串中返回被提取的部分。 </td> </tr> <tr> <td> <a> small() </a> </td> <td> 使用小字号来显示字符串。 </td> </tr> <tr> <td> <a> split() </a> </td> <td> 把字符串分割为字符串数组。 </td> </tr> <tr> <td> <a> strike() </a> </td> <td> 使用删除线来显示字符串。 </td> </tr> <tr> <td> <a> sub() </a> </td> <td> 把字符串显示为下标。 </td> </tr> <tr> <td> <a> substr() </a> </td> <td> 从起始索引号提取字符串中指定数目的字符。 </td> </tr> <tr> <td> <a> substring() </a> </td> <td> 提取字符串中两个指定的索引号之间的字符。 </td> </tr> <tr> <td> <a> sup() </a> </td> <td> 把字符串显示为上标。 </td> </tr> <tr> <td> <a> toLocaleLowerCase() </a> </td> <td> 把字符串转换为小写。 </td> </tr> <tr> <td> <a> toLocaleUpperCase() </a> </td> <td> 把字符串转换为大写。 </td> </tr> <tr> <td> <a> toLowerCase() </a> </td> <td> 把字符串转换为小写。 </td> </tr> <tr> <td> <a> toUpperCase() </a> </td> <td> 把字符串转换为大写。 </td> </tr> <tr> <td> toSource() </td> <td> 代表对象的源代码。 </td> </tr> <tr> <td> <a> toString() </a> </td> <td> 返回字符串。 </td> </tr> <tr> <td> <a> valueOf() </a> </td> <td> 返回某个字符串对象的原始值。 </td> </tr> </tbody> </table>