Asp.net AJAX JavaScript 基本类型扩展(7)——String 类型及其扩展

参考:
JScript  语言参考
http://msdn2.microsoft.com/en-us/library/c12461ed-986a-450b-be3d-81a4d808b48b
Asp.net AJAX 在线文档
http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/JavascriptTypeExtensions/StringTypeExt/default.aspx

Asp.net AJAX JavaScript String 类型扩展

endsWith 方法
 返回布尔值是否指定字符串以指定字符结尾。
例:
// Determines if a string has a specified suffix as
// the last non white-space characters regardless of case.
function verifyStringSuffix(myString, suffix)
{
     // Remove any trailing white spaces.
     myString = myString.trimEnd();

     // Set to lower case.
     myString = myString.toLowerCase();

     // Determine if the string ends with the specified suffix.
     var isTxt = myString.endsWith(suffix.toString());

     if (isTxt === true)
     {
         alert("The string \"" + myString + "\" ends with \"" + suffix + "\"");
     }
     else
     {
         alert("The string \"" + myString + "\" does not end with \"" + suffix + "\"");
     }
}

verifyStringSuffix("some_file.TXT  ", ".txt");

 
format 方法
 将指定的 String 中的每个格式项替换为相应对象的值的文本等效项。
例:
Type.registerNamespace('Samples');

Samples.ToFormattedStringExample = function() {
}
Samples.ToFormattedStringExample.prototype = {
    toFormattedString: function(format) {
        return "This was custom formatted: " + format;
    }
}
Samples.ToFormattedStringExample.registerClass('Samples.ToFormattedStringExample');

var result = "";

// Format a string.
result = String.format("{0:d}", 123);
// Displays: "123"
alert(result);

// Format a string with an object that has
// a custom toFormattedString method.
var o = new Samples.ToFormattedStringExample();
result = String.format("{0:12345}", o);
// Displays: "This was custom formatted: 12345"
alert(result);

 
localeFormat 方法
 将指定的 String 中的每个格式项替换为国家设置相应对象的值的文本等效项
 
startsWith 方法
 确定 String 实例的开头是否与指定的字符串匹配。
例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Sample</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="ScriptManager1">
        </asp:ScriptManager>

        <script type="text/javascript">
            // Determines if a string has a specific prefix as
            // the first non white-space characters in a string.
            function verifyString(myString, prefix)
            {
                // Remove any white space at the left of the string.
                myString = myString.trimStart();

                // Set to lower case.
                myString = myString.toLowerCase();

                // Determine if the string starts with the specified prefix.
                var hasPrefix = myString.startsWith(prefix.toString());
                if (hasPrefix === true)
                {
                    alert("The string \"" + myString + "\" starts with \"" + prefix + "\"");
                }
                else
                {
                   alert("The string \"" + myString + " does not start with \"" + prefix + "\"");
                }
             }

            // Displays: The string "green_blue_red" starts with "green"
            verifyString("  GREEN_BLUE_RED  ", "green");

        </script>
    </form>
</body>
</html>

 
trim 方法
 从此实例的开始位置和末尾移除一组指定字符的所有匹配项。
例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Sample</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="ScriptManager1">
        </asp:ScriptManager>

        <script type="text/javascript">
            function runSample()
            {
                var myString = "  A string  ";
                // Remove any leading and trailing white spaces.
                myString = myString.trim();
                alert("Test:" + myString + ".");
            }

            // Displays: "Test:A string."
            runSample();
        </script>
    </form>
</body>
</html>

 
trimEnd 方法
 从此实例的结尾移除数组中指定的一组字符的所有匹配项。
 
trimStart 方法
 从此实例的开始位置移除数组中指定的一组字符的所有匹配项。
例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Sample</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="ScriptManager1">
        </asp:ScriptManager>

        <script type="text/javascript">
            // Determines if a string has a specific prefix as
            // the first non white-space characters in a string.
            function verifyString(myString, prefix)
            {
                // Remove any white space at the left of the string.
                myString = myString.trimStart();

                // Set to lower case.
                myString = myString.toLowerCase();

                // Determine if the string starts with the specified prefix.
                var hasPrefix = myString.startsWith(prefix.toString());
                if (hasPrefix === true)
                {
                    alert("The string \"" + myString + "\" starts with \"" + prefix + "\"");
                }
                else
                {
                   alert("The string \"" + myString + " does not start with \"" + prefix + "\"");
                }
             }

            // Displays: The string "green_blue_red" starts with "green"
            verifyString("  GREEN_BLUE_RED  ", "green");

        </script>
    </form>
</body>
</html>

String 基本类型

String 对象
可用于处理或格式化文本字符串以及确定和定位字符串中的子字符串。

语法
newString = new String(["stringLiteral"])

参数
newString

必选项。要赋值为 String 对象的变量名。

stringLiteral

可选项。任意 Unicode 字符群。

说明
String 对象可用字符串文字显式创建。用这种方法创建的 String 对象(指以标准字符串形式)与用 new 运算符创建的 String 对象处理上不同。所有字符串文字共享公用的全局字符串对象。如果为字符串文字添加属性,则它对所有标准字符串对象都是可用的:

var alpha, beta;
alpha = "这是一个字符串";
beta = "这也是一个字符串";

alpha.test = 10;
在前一示例中,这时为 beta 和所有将来的字符串定义 test。然而,在下面的例子中,被添加属性的处理略有不同:

var gamma, delta;
gamma = new String("这是一个字符串");
delta = new String("这是也一个字符串");

gamma.test = 10;
在这种情况下,不为 delta 定义 test。每个用 new String 声明的 String 对象有其自己的一组成员。这是对 String 对象和字符串文字的处理不同的唯一情况。

属性
constructor 属性 | length 属性 | prototype 属性

方法
anchor 方法 | big 方法 | blink 方法 | bold 方法 | charAt 方法 | charCodeAt 方法 | concat 方法 | fixed 方法 | fontcolor 方法 | fontsize 方法 | fromCharCode 方法 | indexOf 方法 | italics 方法 | lastIndexOf 方法 | link 方法 | match 方法 | replace 方法 | search 方法 | slice 方法 | small 方法 | split 方法 | strike 方法 | sub 方法 | substr 方法 | substring 方法 | sup 方法 | toLowerCase 方法 | toUpperCase 方法 | toString 方法 | valueOf 方法

constructor 属性
表示创建对象的函数。

object.constructor

必需的 object是对象或函数的名称。

说明
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JScript 固有对象。constructor 属性保存了对构造特定对象实例的函数的引用。 例如:

x = new String("Hi");
if (x.constructor == String)
      // 进行处理(条件为真)。

function MyFunc {
   // 函数体。
}

y = new MyFunc;
if (y.constructor == MyFunc)
      // 进行处理(条件为真)。

length 属性 (String)
返回 String 对象的长度。

strVariable.length
"String Literal".length

说明
length 属性包含一个整数,用来指出 String 对象中的字符数。String 对象中的最后一个字符的索引为 length - 1。

prototype 属性
返回对象类型原型的引用。

objectName.prototype

objectName 参数是对象的名称。

说明
用 prototype 属性提供对象的类的一组基本功能。 对象的新实例“继承”赋予该对象原型的操作。

例如,要为 Array 对象添加返回数组中最大元素值的方法。 要完成这一点,声明该函数,将它加入 Array.prototype, 并使用它。

function array_max( ){
   var i, max = this[0];
   for (i = 1; i < this.length; i++)
   {
   if (max < this[i])
   max = this[i];
   }
   return max;
}
Array.prototype.max = array_max;
var x = new Array(1, 2, 3, 4, 5, 6);
var y = x.max( );
该代码执行后,y 保存数组 x 中的最大值,或说 6。

所有 JScript 固有对象都有只读的 prototype 属性。可以象该例中那样为原型添加功能,但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。

本语言参考中每个内部对象的方法和属性列表指出哪些是对象原型的部分,哪些不是。

anchor 方法
在对象中的指定文本两端放置一个有 NAME 属性的 HTML 锚点。

strVariable.anchor(anchorString)

参数
strVariable

必选项。任意的 String 对象或文字。

anchorString

必选项。 想放在 HTML 锚点的 NAME 属性中的文本。

说明
调用 anchor 方法来在 String 对象外创建一个命名的锚点。下面示例说明了 anchor 方法是如何实现这个的:

var strVariable = "This is an anchor" ;
strVariable = strVariable.anchor("Anchor1");
执行完最后一条语句后 strVariable 的值为:

<A NAME="Anchor1">This is an anchor</A>
不检查该标记是否已经被应用于该字符串。

big 方法
把 HTML <BIG> 标记放置在 String 对象中的文本两端。

strVariable.big( )

必选项 strVariable 参数可以是任意的 String 对象或文字。

说明
下面示例说明了 big 方法是如何工作的:

var strVariable = "This is a string object";
strVariable = strVariable.big( );
在执行完最后一个语句后,strVariable 的值为:

<BIG>This is a string object</BIG>
不检查该标记是否已经被应用于该字符串了。

blink 方法
把 HTML <BLINK> 标记放置在 String 对象中的文本两端。

strVariable.blink( )

必选项 strVariable 参数是可以是任意的 String 对象或文字。

说明
下面的示例说明了 blink 方法是如何工作的:

var strVariable = "This is a string object";
strVariable = strVariable.blink( );
在最后一条语句执行完后,strVariable 的值是:

<BLINK>This is a string object</BLINK>
不检查该标记是否已经被应用于该字符串了。

在 Microsoft Internet Explorer 中不支持 <BLINK> 标记。

bold 方法
把 HTML <B> 标记放置在 String 对象中的文本两端。

strVariable.bold()

必选项 strVariable 参数可以是任意的 String 对象或文字。

说明
下面的示例说明了 bold 方法是如何工作的:

var strVariable = "This is a string object";
strVariable = strVariable.bold( );
最后一条语句执行完后,strVariable 的值是:

<B>This is a string object</B>
不检查该标记是否已经被应用于该字符串了。

charAt 方法
返回指定索引位置处的字符。

strObj.charAt(index)

参数
strObj

必选项。任意 String 对象或文字。

index

必选项。想得到的字符的基于零的索引。有效值是 0 与字符串长度减 1 之间的值。

说明
charAt 方法返回一个字符值,该字符位于指定索引位置。字符串中的第一个字符的索引为 0,第二个的索引为 1,等等。超出有效范围的索引值返回空字符串。

示例
下面的示例说明了 charAt 方法的用法:

function charAtTest(n){
   var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; // 初始化变量。
   var s;                                  // 声名变量。
   s = str.charAt(n - 1);                  // 从索引为n – 1的位置处
                                           // 获取正确的字符。
   return(s);                              //返回字符。
}

charCodeAt 方法
返回一个整数,代表指定位置上字符的 Unicode 编码。

strObj.charCodeAt(index)

参数
strObj

必选项。任何 String 对象或文字。

index

必选项。将被处理的字符的从零开始计数的编号。有效值为 0 到字符串长度减 1 的数字。

说明
一个字符串中的第一个字符编号为 0,第二个字符编号为 1,依此类推。

如果指定位置没有字符,将返回 NaN。

示例
以下示例阐明了 charCodeAt 方法的用法。

function charCodeAtTest(n){
  var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //初始化变量。
  var n;                                  //声明变量。
  n = str.charCodeAt(n - 1);              //获取位置 n 上字符的 Unicode 值。
  return(n);                              //返回该值。
}

concat 方法(String)
返回字符串值,该值包含了两个或更多个提供的字符串的连接。

string1.concat([string2[, string3[, . . . [, stringN]]]])

参数
string1

必选项。要和所有其他指定的字符串进行连接的 String 对象或文字。

string2,. . ., stringN

可选项。要连接到 string1 尾部的 String 对象或文字。

说明
concat 方法的结果等于:result = string1 + string2 + string3 + … + stringN。不论源字符串或结果字符串哪一个中的值改变了都不会影响另一个字符串中的值。如果有不是字符串的参数,在被连接到 string1 之前将先被转换为字符串。

示例
下面的示例说明了使用字符串时 concat 方法的用法:

function concatDemo()
{
   var str1 = "ABCDEFGHIJKLM"
   var str2 = "NOPQRSTUVWXYZ";
   var s = str1.concat(str2);
   // 返回连接好的字符串。
   return(s);
}

fixed 方法
把 HTML <TT> 标记放置在 String 对象中的文本两端。

strVariable.fixed( )

必选项 strVariable 参数为任意的 String 对象或文字。

说明
下面的示例说明了 fixed 方法如何工作:

var strVariable = "This is a string object";
strVariable = strVariable.fixed( );
最后一条语句执行完后,strVariable 的值是:

<TT>This is a string object</TT>
不检查该标记是否已经被应用于该字符串了。

fontcolor 方法
把带有 COLOR 属性的一个 HTML <FONT> 标记放置在 String 对象中的文本两端。

strVariable.fontcolor(colorVal)

参数
strVariable

必选项。任意的 String 对象或文字。

colorVal

必选项。为包含颜色值的字符串值。可以是颜色的十六进制值,或预先定义好的颜色名字。

说明
下面的示例说明了 fontcolor 方法:

var strVariable = "This is a string";
strVariable = strVariable.fontcolor("red");
最后一条语句执行完后,strVariable 的值是:

<FONT COLOR="RED">This is a string</FONT>
有效的预定义颜色名取决于 JScript 主机(浏览器、服务器,等等)。它们也可能由主机版本的不同而不同。详细信息请查阅主机的说明书。

不检查该标记是否已经被应用于该字符串了。

fontsize 方法
把一个带有 SIZE 属性的 HTML <FONT> 标记放置在 String 对象中的文本的两端。

strVariable.fontsize(intSize)

参数
strVariable

必选项。任意的 String 对象或文字。

intSize

必选项。用来指定文本大小的整数值。

说明
下面的示例说明了 fontsize 方法的用法:

var strVariable = "This is a string";
strVariable = strVariable.fontsize(-1);
最后一条语句执行完后,strVariable 的值是:

<FONT SIZE="-1">This is a string</FONT>
有效的整数值取决于 Microsoft JScript 主机。详细信息请参阅主机的说明书。

不检查该标记是否已经被应用于该字符串了。

fromCharCode 方法
从一些 Unicode 字符值中返回一个字符串。

String.fromCharCode([code1[, code2[, ...[, codeN]]]])

参数
String

必选项。为 String 对象。

code1, . . . , codeN

可选项。是要转换为字符串的 Unicode 字符值序列。如果没有给出参数,结果为空字符串。

说明
在调用 fromCharCode 前不必创建 String 对象。

在下面的例子中,test 包含字符串 "plain":

var test = String.fromCharCode(112, 108, 97, 105, 110);

indexOf 方法
返回 String 对象内第一次出现子字符串的字符位置。

strObj.indexOf(subString[, startIndex])

参数
strObj

必选项。String 对象或文字。

subString

必选项。要在 String 对象中查找的子字符串。

starIndex

可选项。该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。

说明
indexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大的字符位置索引还大,则它被当作最大的可能索引。

从左向右执行查找。否则,该方法与 lastIndexOf 相同。

示例
下面的示例说明了 indexOf 方法的用法。

function IndexDemo(str2){
   var str1 = "BABEBIBOBUBABEBIBOBU"
   var s = str1.indexOf(str2);
   return(s);
}

italics 方法
把 HTML <I> 标记放置在 String 对象中的文本两端。

strVariable.italics( )
"String Literal".italics( )

说明
下面的示例说明了 italics 方法是如何工作的:

var strVariable = "This is a string";
strVariable = strVariable.italics( );
最后一条语句执行完后,strVariable 的值是:

<I>This is a string</I>
不检查该标记是否已经被应用于该字符串了。

lastIndexOf 方法
返回 String 对象中子字符串最后出现的位置。

strObj.lastIndexOf(substring[, startindex])

参数
strObj

必选项。String 对象或文字。

substring

必选项。要在 String 对象内查找的子字符串。

startindex

可选项。该整数值指出在 String 对象内进行查找的开始索引位置。如果省略,则查找从字符串的末尾开始。

说明
lastIndexOf 方法返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。

如果 startindex 是负数,则 startindex 被当作零。如果它比最大字符位置索引还大,则它被当作最大的可能索引。

从右向左执行查找。否则,该方法和 indexOf 相同。

下面的示例说明了 lastIndexOf 方法的用法:

function lastIndexDemo(str2)
{
   var str1 = "BABEBIBOBUBABEBIBOBU"
   var s = str1.lastIndexOf(str2);
   return(s);
}

link 方法
把一个有 HREF 属性的 HTML 锚点放置在 String 对象中的文本两端。

strVariable.link(linkstring)
"String Literal".link(linkstring)

linkstring 参数是想要放置在 HTML 锚点的 HREF 属性中的文本。

说明
调用 link 方法来创建 String 对象外部的超链接。下面就是该方法如何实现这种功能的一个例子:

var strVariable = "This is a hyperlink";
strVariable = strVariable.link("http://www.microsoft.com");
最后一条语句执行完后,strVariable 的值是:

<a href="http://www.microsoft.com">This is a hyperlink</A>
不检查该标记是否已经被应用于该字符串了。

match 方法
使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回。

stringObj.match(rgExp)

参数
stringObj

必选项。对其进行查找的 String 对象或字符串文字。

rgExp

必选项。为包含正则表达式模式和可用标志的正则表达式对象。也可以是包含正则表达式模式和可用标志的变量名或字符串文字。

说明
如果 match 方法没有找到匹配,返回 null。如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。

match 方法返回的数组有三个属性:input、index和lastIndex。Input 属性包含整个的被查找字符串。Index 属性包含了在整个被查找字符串中匹配的子字符串的位置。LastIndex 属性包含了最后一次匹配中最后一个字符的下一个位置。

如果没有设置全局标志 (g),数组的0元素包含整个匹配,而第 1 到 n 元素包含了匹配中曾出现过的任一个子匹配。这相当于没有设置全局标志的 exec 方法。如果设置了全局标志,元素0到n中包含所有匹配。

示例
下面的示例演示了match 方法的用法:

function MatchDemo(){
   var r, re;         // 声明变量。
   var s = "The rain in Spain falls mainly in the plain";
   re = /ain/i;    // 创建正则表达式模式。
   r = s.match(re);   // 尝试匹配搜索字符串。
   return(r);         // 返回第一次出现 "ain" 的地方。
}
本示例说明带 g 标志设置的 match 方法的用法。

function MatchDemo(){
   var r, re;         // 声明变量。
   var s = "The rain in Spain falls mainly in the plain";
   re = /ain/ig;      // 创建正则表达式模式。
   r = s.match(re);   // 尝试去匹配搜索字符串。
   return(r);         // 返回的数组包含了所有 "ain"
                      // 出现的四个匹配。
}
下面几行代码演示了字符串文字的 match 方法的用法。

var r, re = "Spain";
r = "The rain in Spain".replace(re, "Canada");

replace 方法
返回根据正则表达式进行文字替换后的字符串的复制。

stringObj.replace(rgExp, replaceText)

参数
stringObj

必选项。要执行该替换的 String 对象或字符串文字。该字符串不会被 replace 方法修改。

rgExp

必选项。为包含正则表达式模式或可用标志的正则表达式对象。也可以是 String 对象或文字。如果 rgExp 不是正则表达式对象,它将被转换为字符串,并进行精确的查找;不要尝试将字符串转化为正则表达式。

replaceText

必选项。是一个String 对象或字符串文字,对于stringObj 中每个匹配 rgExp 中的位置都用该对象所包含的文字加以替换。在 Jscript 5.5 或更新版本中,replaceText 参数也可以是返回替换文本的函数。

说明
replace 方法的结果是一个完成了指定替换的 stringObj 对象的复制。

下面任意的匹配变量都能用来识别最新的匹配以及找出匹配的字符串。在需要动态决定替换字符串的文本替换中可以使用匹配变量。

字符 含义
$$ $ (JScript 5.5 或更新版本)
$& 指定与整个模式匹配的 stringObj 的部分。 (JScript 5.5 或更新版本)
$` 指定由 $& 描述的匹配之前的 stringObj 部分。 (JScript 5.5 或更新版本)
$' 指定由 $& 描述的匹配之后的 stringObj 部分。 (JScript 5.5 或更新版本)
$n 捕获的第 n 个子匹配,此处 n 为从1到9的十进制一位数。 (JScript 5.5 或更新版本)
$nn 捕获的第 nn 个子匹配,此处 nn 为从01到99的十进制两位数。 (JScript 5.5 或更新版本)


如果 replaceText 为函数,对于每一个匹配的子字符串,调用该函数时带有下面的 m+3 个参数,此处 m 是在 rgExp 中捕获的左括弧的个数。第一个参数是匹配的子字符串。接下来的 m 个参数是查找中捕获的全部结果。第 m+2 个参数是在 stringObj 中匹配出现的偏移量,而第 m+3 个参数为 stringObj。结果为将每一匹配的子字符串替换为函数调用的相应返回值的字符串值。

Replace 方法更新全局 RegExp 对象的属性。

示例
下面的示例演示了 replace 方法将第一次出现的单词 "The" 替换为单词 "A" 的用法。

function ReplaceDemo(){
   var r, re;                    // 声明变量。
   var ss = "The man hit the ball with the bat.\n";
   ss += "while the fielder caught the ball with the glove.";
   re = /The/g;             // 创建正则表达式模式。
   r = ss.replace(re, "A");    // 用 "A" 替换 "The"。
   return(r);                   // 返回替换后的字符串。
}
另外, replace 方法也可以替换模式中的子表达式。 下面的范例演示了交换字符串中的每一对单词:

function ReplaceDemo(){
   var r, re;                      // 声明变量。
   var ss = "The rain in Spain falls mainly in the plain.";
   re = /(\S+)(\s+)(\S+)/g;        // 创建正则表达式模式。
   r = ss.replace(re, "$3$2$1");   // 交换每一对单词。
   return(r);                      // 返回结果字符串。
}
下面的示例(在 JScript 5.5 及更新版本中执行)执行的是从华氏到摄氏的转换,它演示了使用函数作为 replaceText。要想知道该函数是如何工作的,传递一个包含数值的字符串,数值后要紧跟 "F" (例如 "Water boils at 212")。

function f2c(s) {
  var test = /(\d+(\.\d*)?)F\b/g;    // 初始化模式。
  return(s.replace
    (test,
      function($0,$1,$2) {
        return((($1-32) * 5/9) + "C");
      }
    )
  );
}
document.write(f2c("Water freezes at 32F and boils at 212F."));

search 方法
返回与正则表达式查找内容匹配的第一个子字符串的位置。

stringObj.search(rgExp)

参数
stringObj

必选项。要在其上进行查找的 String 对象或字符串文字。

rgExp

必选项。包含正则表达式模式和可用标志的正则表达式对象。

说明
search 方法指明是否存在相应的匹配。如果找到一个匹配,search 方法将返回一个整数值,指明这个匹配距离字符串开始的偏移位置。如果没有找到匹配,则返回 -1。

示例
下面的示例演示了 search 方法的用法。

function SearchDemo(){
   var r, re;                   // 声明变量。
   var s = "The rain in Spain falls mainly in the plain.";
   re = /falls/i;            // 创建正则表达式模式。
   r = s.search(re);            // 查找字符串。
   return(r);                   // 返回 Boolean 结果。
}

slice 方法 (String)
返回字符串的片段。

stringObj.slice(start, [end])

参数
stringObj

必选项。是一个 String 对象或文字。

start

必选项。下标以 0 开始的 stringObj 指定部分起始索引。

end

可选项。下标以 0 起始的 stringObj 的指定部分结束索引。

说明
slice 方法返回一个包含 stringObj 的指定部分的 String 对象。

slice 方法一直复制到 end 所指定的元素,但是不包括该元素。如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度。如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度。如果省略 end ,那么 slice 方法将一直复制到 arrayObj 的结尾。如果 end 出现在 start 之前,不复制任何元素到新数组中。

示例
在下面的示例中,slice 方法的两种用法将返回相同的结果。第二个示例中的 -1 指向 str1 中的最后一个字符,并作为提取操作的结束位置。

str1.slice(0)
str2.slice(0,-1)

small 方法
将 HTML 的<SMALL> 标识添加到String 对象中的文本两端。

strVariable.small( )
"String Literal".small( )

说明
下面的示例演示了 small 方法是如何使用的:

var strVariable = "This is a string";
strVariable = strVariable.small( );
在上一条语句之后 strVariable 的值为:

<SMALL>This is a string</SMALL>
不检查该标识是否已应用于该字符串了。

split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。

stringObj.split([separator[, limit]])

参数
stringObj

必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。

separator

可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。

limit

可选项。该值用来限制返回数组中的元素个数。

说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。

示例
下面的示例演示了 split 方法的用法。

function SplitDemo(){
   var s, ss;
   var s = "The rain in Spain falls mainly in the plain.";
   // 在每个空格字符处进行分解。
   ss = s.split(" ");
   return(ss);
}

strike 方法
将 HTML 的<STRIKE> 标识放置到 String 对象中的文本两端。

strVariable.strike( )
"String Literal".strike( )

说明
下面的示例演示了strike 方法是如何使用的。

var strVariable = "This is a string object";
strVariable = strVariable.strike( );
在上一条语句之后 strVariable 的值为:

<STRIKE>This is a string object</STRIKE>
不检查该标识是否已应用于该字符串了。

sub 方法
将 HTML 的 <SUB> 标识放置到 String 对象中的文本两端。

strVariable.sub( )
"String Literal".sub( )

说明
下面的示例演示了 sub 方法是如何使用的:

var strVariable = "This is a string object";
strVariable = strVariable.sub( );
在执行上一条语句后 strVariable 的值为:

<SUB>This is a string object</SUB>
不检查该标识是否已应用于该字符串了。

substr 方法
返回一个从指定位置开始的指定长度的子字符串。

stringvar.substr(start [, length ])

参数
stringvar

必选项。要提取子字符串的字符串文字或 String 对象。

start

必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。

length

可选项。在返回的子字符串中应包括的字符个数。

说明
如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。

示例
下面的示例演示了substr 方法的用法。

function SubstrDemo(){
   var s, ss;                // 声明变量。
   var s = "The rain in Spain falls mainly in the plain.";
   ss = s.substr(12, 5);  // 获取子字符串。
   return(ss);               // 返回 "Spain"。
}

substring 方法
返回位于 String 对象中指定位置的子字符串。

strVariable.substring(start, end)
"String Literal".substring(start, end)

参数
start

指明子字符串的起始位置,该索引从 0 开始起算。

end

指明子字符串的结束位置,该索引从 0 开始起算。

说明
substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。

substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。

如果 start 或 end 为 NaN 或者负数,那么将其替换为0。

子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。

示例
下面的示例演示了 substring 方法的用法。

function SubstringDemo(){
   var ss;                         // 声明变量。
   var s = "The rain in Spain falls mainly in the plain..";
   ss = s.substring(12, 17);   // 取子字符串。
   return(ss);                     // 返回子字符串。
}

sup 方法
将 HTML 的 <SUP> 标识放置到 String 对象中的文本两端。

strVariable.sup( )
"String Literal".sup( )

说明
下面的示例演示了 sup 方法是如何使用的:

var strVariable = "This is a string object";
strVariable = strVariable.sup( );
在执行上一条语句后 strVariable 的值为:

<SUP>This is a string object</SUP>
不检查该标识是否已应用于该字符串了。

toLowerCase 方法
返回一个字符串,该字符串中的字母被转换为小写字母。

strVariable.toLowerCase( )
"String Literal".toLowerCase( )

说明
toLowerCase 方法对非字母字符不会产生影响。

下面的示例演示了 of the toLowerCase 方法的效果:

var strVariable = "This is a STRING object";
strVariable = strVariable.toLowerCase( );
在执行上一条语句后 strVariable 的值为:

this is a string object

toUpperCase 方法
返回一个字符串,该字符串中的所有字母都被转化为大写字母。

strVariable.toUpperCase( )
"String Literal".toUpperCase( )

说明
toUpperCase 方法对非字母字符不会产生影响。

示例
下面的示例演示了 toUpperCase 方法的效果:

var strVariable = "This is a STRING object";
strVariable = strVariable.toUpperCase( );
在执行上一条语句后 strVariable 的值为:

THIS IS A STRING OBJECT

toString 方法 和 valueOf 方法 见 前文

你可能感兴趣的:(JavaScript)