跟我学JavaScript--字符串对象方法具体讲解

来源:互联网 发布:linux select timeout 编辑:程序博客网 时间:2024/05/19 09:40

以下方法默认所有主流浏览器都支持

1.charAt()方法

作用:返回指定位置的字符(从0开始计数)

语法:string.charAt(index)

参数index:必需值。表示字符在字符串中的位置

返回值:String。在指定位置的字符

例.

var str="Nico is a hero";var n1=str.charAt(6);                //svar n2=str.charAt(str.length-1);     //o

2.charCodeAt()方法

作用:返回指定位置的字符的Unicode编码(从0开始计数)

语法:string.charCodeAt(index)

参数index:必需值。表示字符在字符串中的下标

返回值:Number。在指定位置的字符的Unicode编码

例.

var str="Nico is a hero";var n1=str.charCodeAt(6);                //115var n2=str.charCodeAt(str.length-1);     //111

3.concat()方法

作用:用于连接两个或多个字符串,并返回新字符串

语法:string.concat(string1, string2,………,stringN)

参数string1, string2,………,stringN:必需值。将被连接为一个字符串的N个字符串对象

返回值:String。N个字符串连接后生成的新字符串对象

例.

var str1 = "Nico,";var str2 = "you are ";var str3 = "a hero";var n=str1.concat(str2,str3);   //Nico,you are a hero

注:concat()方法没有改变原有字符串,而是返回连接N个字符串的新字符串

4.fromCharCode()方法

作用:接受一个指定的Unicode值,返回对应的字符组成的字符串

语法:String.fromCharCode(n1,n2,……,nx)

参数n1,n2,……,nx:必需值。N个Unicode值,即要创建的字符串中的字符的Unicode编码

返回值:String。代表Unicode编码的字符

例.

var m = String.fromCharCode(78,73,67,79);  //NICO

注:fromCharCode()方法是String的静态方法,字符串中的每个字符都由单独的Unicode数字编码指定

5.indexOf()方法

作用:返回某个指定的字符串值在字符串中首次出现的位置

语法:string.indexOf(searchvalue,start)

参数 searchvalue:必需值。需要检索的字符串值。

参数 start:可选整数值。规定在字符串中开始检索的位置。合法取值是0到string.length-1。若省略,则将从字符串的首字符开始检索。

返回值:Number。查找指定字符串第一次出现的位置。如果没找到匹配的字符串则返回-1

例.

    var str="Hello world,welcome to the universe.";    var n=str.indexOf("e");     //1    var n=str.indexOf("e",2);   //13

6.lastIndexOf()

作用:从后向前搜索字符串,并从起始位置(0)开始计算,返回字符串最后出现的位置

语法:string.lastIndexOf(searchvalue,start)

参数 searchvalue:必需值。需要检索的字符串值

参数 start:可选整数值。规定在字符串中开始检索的位置。合法取值是0到string.length-1。若省略,则将从字符串的最后一个字符从后向前开始检索。若指定,则在字符串中指定位置从后往前检索

返回值:Number。指定字符串最后出现的位置。如果没找到匹配的字符串则返回-1

注:该方法从后向前检索,但是返回是从起始位置开始计算

例.

var str = "Hello Nico,Actually,Nico is a hero";var x = str.lastIndexOf("Nico");      //20var y = str.lastIndexOf("Nico",6);    //6var z = str.lastIndexOf("Nico",5);    //-1

7. match()方法

作用:在字符串内检索指定的值,找到N个正则表达式的匹配

语法:string.match(regexp)

参数 regexp:必需值。规定要匹配的模式的RegExp对象,如果不是RegExp对象,则需要将它传递给RegExp构造函数,将其转换为RegExp对象

返回值:Array。存放匹配结果的数组,若无匹配的文本,将返回null

注:此方法依赖于regexp是否具有标志 g。若无,则只能执行一次匹配

例.

var str = "The rain in SPAIN stays mainly in the plain"; var m=str.match(/ain/g);      //ain,ain,ainvar n=str.match(/ain/gi);     //ain,AIN,ain,ain

g:全局替换
gi:忽略大小写的全局替换

8.replace()方法

作用:在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串

语法:string.replace(searchvalue,newvalue)

参数 searchvalue:必需值。规定子字符串或要被替换的模式的RegExp对象。(被替换)

参数 newvalue:必需值。字符串值,规定替换文本或生成替换文本的函数。(替换)

返回值:String。替换后得到的新字符串

例1.

var str = "Mr Blue has a blue house and a blue car";var n = str.replace(/blue/gi,"red");  //Mr red has a red house and a red car

例2.

通过prototype给字符串对象添加方法

String.prototype.replaceAll=function(search,replacement){   var target=this;   return targrt.replace(new RegExp(search,'g'),replacement);};var str = "Visit Microsoft!Visit Microsoft!Visit Microsoft!";var n = str.replaceAll("Microsoft","Run");  //Visit Run!Visit Run!Visit Run!

等效于

var str = Visit Microsoft!Visit Microsoft!Visit Microsoft!;var n = str.replace(/Microsoft/g,"Run");   //Visit Run!Visit Run!Visit Run!

9.search()方法

作用:检索字符串中指定的子字符串,或查找与正则表达式相匹配的字符串

语法:string.search(searchvalue)

参数:必需值。查找的子字符串或正则表达式

返回值:Number。查找的子字符串或与正则表达式相匹配的字符串对象的起始位置。如果没找到匹配的子串则返回-1

例.

var str = "Mr. Blue has a blue house";var n = str.search(/blue/i);     //4var m = str.search("blue");      //15

10.slice()方法

作用:提取字符串的某个部分,并以新的字符串返回被提取的部分。

语法:string.slice(start,end)

参数 start:必需值。要抽取的片段的起始下标(从0开始计数)

参数 end:可选值。要抽取的片段的结尾下标(不包含当前结尾字符)。若未指定,则提取部分从start开始到原子符串结尾为止。

注:如果参数为负数,则从原子符串的尾部开始算起,-1指最后一个字符,-2指倒数第二个字符(只有start,无end)

返回值:String。提取出的字符串

例.

var str = "Nico is a hero";var n = str.slice(3,11);     //o is a hvar m = str.slice(-2);       //ro

11.split()方法

作用:把一个字符串分割为字符串数组

语法:string.split(separator,limit)

参数 separator:可选值。字符串或者正则表达式,从此处分隔字符串对象

参数 limit:可选值。指定返回的数组的最大长度。如果设置,返回的子串不会超过此参数指定的数组长度。若没设置此参数,整个字符串都会被分隔,不考虑长度

返回值:Array。一个字符串数组,由separator指定的分隔符将字符串分隔成子串创建的。返回的数组中的子串不包括separator本身

注:split()方法不改变原字符串

例.

var str = "Hello Nico,you are a hero";var x = str.split();        //Hello Nico,you are a herovar y = str.split("");      //H,e,l,l,o, ,N,i,c,o,,,y,o,u, ,a,r,e, ,a, ,h,e,r,ovar z = str.split(" ");     //Hello,Nico,you,are,a,herovar m = str.split(" ",3);   //Hello,Nico,you,arevar n = str.split("o");     //Hell, Nic,,y,u are a her,

12.substr()方法

作用:从起始索引号提取字符串中指定数目的字符

语法:string.substr(start,length)

参数 string:必需值。要抽取的子串的起始下标,必须是数值。如果是负数,则从字符串尾部开始算起,-1代表最后一个字符,-2代表倒数第二个字符

参数 length:可选值。要提取的子串的字符数,必须是数值。若省略,则返回从起始位置到结尾的子串

返回值:String。从起始位置开始的指定长度的子串

注:substr()可以替代substring()和slice()使用,不会改变原字符串

例.

var str = "Nico,you are a hero";var m = str.substr(2,5);   //co,yovar n = str.substr(2);     //co,you are a hero

13.substring()方法

作用:提取字符串中两个指定的索引号之间的字符

语法:string.substring(from,to)

参数 from:必需值。非负整数,要提取的子串的起始字符的下标

参数 to:可选值。非负整数,要提取的子串的结尾字符+1。若省略,则返回的子串从起始位置到原字符串结尾

返回值:String。返回从起始位置到结束位置的子串

注:返回的子串包括起始处字符,不包括结束处的字符

例.

var str = "Nico,you are a hero";var m = str.substring(3);    //o,you are a herovar n = str.substring(3,7);  //o,yo

14.toLowerCase()方法

作用:把字符串转换为小写

语法:string.toLowerCase()方法

无参数

返回值:String。原字符串的每个字符转换为小写后的字符串

例.

var str = "Nico,you are a hero";var n = str.toLowerCase();  //nico,you are a hero

15.toUpperCase()方法

作用:把字符串转换为大写

语法:string.toUpperCase()

无参数

返回值:String。原字符串的每个字符转换为大写后的字符串

例.

var str = "Nico,you are a hero";var n = str.toLowerCase();  //NICO,YOU ARE A HERO

16.trim()方法

作用:去除字符串两边的空白

17.valueOf()方法

作用:返回字符串对象的原始值

语法:string.valueOf()

注: valueOf() 方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中

0 0