JavaScript学习之String对象

发布时间:2020-02-27编辑:脚本学堂
本文介绍了javascript中string对象的用法,详细介绍了string对象的方法、属性及实例,有需要的朋友参考下。

创建对象:
创建String对象方法:
 

复制代码 代码示例:
var string1=new String("Hello"); 
var string1=new String(123); 
var string1=new String(123.456); 

也可以声明一个基本的字符串,然后用作String对象,JS会隐式转换类型:
 

复制代码 代码示例:
var string2="Hello World"; 

length属性:
    作用:
        返回字符串中的字符数。
    实例:
 

复制代码 代码示例:
var myName=new String("Jeremy"); 
document.write(myName.length); 
 //最终屏幕会输出字符串的长度:6 

indexOf()和lastIndexOf()方法:
    作用:
        用于查找在一个字符串中是否包含了另外一个字符串。区别在于indexOf()是从字符串中从前
        往后开始查找,lastIndexOf()是从字符串中从后往前开始查找。
    参数:
        需要查找的子字符串;
        父字符串中开始查找的位置[可选];
    返回值:
        返回第一个查找到的子字符串在父字符串中的位置。若不存在,则返回-1。
        【注意:字符串中位置值是从0开始的】
举例:
 

复制代码 代码示例:
var myString=new String("hello nihao hello world hello"); 
var firstPosition=myString.indexOf("hello");//值为0 
var secondPosition=myString.indexOf("hello",1);//值为12 
var lastPosition=myString.lastIndexOf("hello");//值为24 

substr()和substring()方法:
    作用:
        用于复制字符串的一个子串。
    参数:
对于substr():
        子串中要包含的第一个字符的起始位置;
        要复制的子串的长度(可选,若没有则复制到结尾)
对于substring():
子串的开始位置
子串中最户一个字符后面的字符位置(可选,若没有直接到结尾)
    返回值:
        复制出的子串
例子:
 

复制代码 代码示例:
var myString=new String("javascript"); 
var mySubString=myString.substr(0,4);//返回值是Java 

toLowerCase()和toUpperCase()方法:
    作用:
        将字符串转换成统一的大小写。
例子:
 

复制代码 代码示例:
var myString=new String("Hello,wOrLd"); 
var low=myString.toLowerCase();//变成:hello world 
var up=myString.toUpperCase();//变成:HELLO WORLD 

charAt()和charCodeAt()方法:
    作用:
        用于找出字符串中某个字符的信息。
    参数:
        所选字符在字符串中的索引位置。【注意是从0开始】
    返回值:
        charAt()返回该索引值处的字符。
        charCodeAt()返回该索引值处的字符在Unicode字符集中的十进制编码。
例子:
 

复制代码 代码示例:
var myString=new String("happy"); 
var at=myString.charAt(1);//此时为:a 
var codeat=myString.charCodeAt(1);//此时为:97 

fromCharCode()方法:
作用:
其与上面的charCodeAt()方法刚好相反,给它传送一系列的用逗号分隔的、表示字符编码的数字
它就会把他们转换成一个字符串

注意:fromCharCode()是一个静态方法,无需创建String对象就可以使用它。

实例:
 

复制代码 代码示例:
var myString=String.fromCharCode(65,66,67);//返回值是:ABC 

对于String对象的下面的四种方法,主要是配合起正则表达式来使用的,功能十分强大

split()方法:
    作用:
        可以根据指定为参数的字符拆分字符串,返回值是一个数组,其中每个元素都
        包含一个拆分后的子串
实例:
 

复制代码 代码示例:
var myListString="apple, banana, peach, orange"; 
var myFruitArray=myListString.split(", "); 
//通过这种方法就可以拆分成一个数组,数组中每个元素表示一种水果 
var myListString="apple, 0.99, banana, 0.50, peach, 0.25, orange, 0.75"; 
//在这个字符串中若要取出水果名,就不那么容易了 
var theRegExp=/[^a-z]+/i; 
var myFruitArray=myListString.split(theRegExp); 
//通过正则表达式,可以成功的分离掉中间的数字的干扰,分离出水果

replace()方法
    replace()方法的独特之处在于他可以根据与正则表达式匹配的分组来替换文本。在
    使用这方法的时候,需要使用$符号和分组的序号。
例如
 

复制代码 代码示例:
var myRegExp=/(d)(w)/; 

此时,$1引用分组(d),$2引用分组(w)。

下面实例证明其强大之处:
 

复制代码 代码示例:
var myString="1999, 2000, 2001"; 
//若想把myString通过replace变成"the year 1999,the year 2000,the year 2001" 
//则方法是: 
var myRegExp=/(d{4})/g; 
myString=myString.replace(myRegExp,"the year $1"); 

search()方法
可以在字符串中搜索字符模式。如果找到了该模式,则返回找到的模式的字符位置,否则返回-1

例如:
 

复制代码 代码示例:
var myString="Beginning JavaScript,Beginning Java 2,Professional JavaScript"; 
//若想只查找单独的Java,而不查找JavaScript中的Java,则可以通过与正则表达式结合实现: 
var myRegExp=/bJavab/i; 
alert(myString.search(myRegExp));//此时值为32 

match()方法
与search方法类似,但是,match返回一个数组,数组中每个元素包含一个匹配的文本

实例:
 

复制代码 代码示例:
var myString="The years were 1999,2000 and 2001"; 
var myRegExp=/bd{4}b/g; 
var resultArray=myString.match(myRegExp);//此时数组中包含的元素为:1999、2000、2001