JavaScript String类型

字符方法

访问字符串中特定字符的方法:

charAt()和charCodeAt()。这两个方法都接收一个参数,即基于0的字符位置。

charAt() charCodeAt()
以单个字符字符串的形式返回给定位置的那个字符 返回给定位置的那个字符的字符编码
var stringValue = “hello world”; stringValue.charAt(1) //返回“e” var stringValue = “hello world”; stringValue.charCodeAt(1) //返回”101”

字符串操作方法

1、concat()方法,将一或多个字符串拼接起来,返回拼接得到的新字符串

        var stringValue = "hello ";
         var result = stringValue.concat("world");
         //stringValue的值为"hello ",result的值为“hello world”
         var result1 = stringValue.concat("world","!");
         //stringValue的值为"hello ",result1的值为“hello world!”
虽然concat()是专门用来拼接字符串的方法,但在实践中更多的还是用加号操作符(+)

2、基于子字符串创建新字符串的方法:slice()、substr()、substring()

相同点:
*都会返回被操作字符串的一个子字符串,
*而且也都接受一或两个参数,第一个参数指定字符串的开始位置,第二个参数表示子字符串到哪里结束。
*没有传递第二个参数,则将字符串的末尾作为结束位置
*slice()、substring()和substr()都不会修改字符串本身的值
不同点:
*slice()和substring的第二个参数指定的是子字符串最后一个字符后面的位置。substr()的第二个参数指定的是返回字符个数。
*传递给方法的参数是负数时,slice()会将传入的负值与字符串的长度相加,substring()将负的第一个参数加上字符串的长度,而将负的第二个参数转化为0,substr()将所有负值参数都转化为0

字符串位置方法 indexOf()和lastIndexOf()

相同点:这两个方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置(如果没有你找到该子字符串,则返回-1)
不同点:indexOf()方法是从字符串的开头向后搜索子字符串,而lastIndexof()方法是从字符串的末尾向前搜索子字符串。
var stringValue = "hello world";
stringValue.indexOf("o");//4
stringValue.lastIndexOf("o");//7

trim()方法会创建一个字符串的副本,删除前置和后缀的所有空格,然后返回结果。不会改变字符串本身的值

var stringValue = "    hello world    ";
var trimStringValue = stringValue.trim();
//stringValue的值为"    hello world    ",trimStringValue的值为"hello world";

字符串大小写转换方法

toLowerCase()、toLocaleLower()、toUpperCase()和toLocaleUpperCase()

var stringValue - "hello world";
stringValue.toUpperCase();//返回值为:"HELLO WORLD"
stringValue.toLocaleLowerCase();//返回值为:"HELLO WORLD"
stringValue.toLocaleLowerCase();//返回值为:"hello world"
stringValue.toLowerCase();//返回值为:"hello world"

字符串的模式匹配方法

第一个方法:match()

match()方法只接收一个参数,要么是一个正则表达式,要么是一个RegExp对象。
match()方法返回的是一个数组。
例子:
var text = "cat, bat, sat, fat";
var pattern = /.at/;//匹配第一个以at结尾的字符

//与pattern.exec(text)相同
var matchs = text.match(pattern);
matchs.index;//返回值为0
matchs[0];//返回值为"cat"
parttern.lastIndex;//返回值为0

第二个方法:search()

这个方法的唯一参数与,match()方法的参数相同,由字符串或RegExp对象指定的一个正则表达式。
search()方法返回字符串中第一个匹配项的索引,如果没有找到匹配项,就返回-1。
而且,search()方法始终是从字符串开头向后查找模式。
var text = "cat, bat, sat, fat";
var pos = text.search(/at/);
//pos的值为1

第三个方法:replace()

这个方法接收两个参数:第一个参数可以是RegExp对象或者一个字符串(这个字符串不会被转换成正则表达式),第二个参数可以是一个字符串或一个函数。
如果第一个参数是字符串,那么只会替换第一个子字符串。要想替换所以子字符串,唯一的方法就是提供一个正则表达式,而且要指定全局(g)标识。
例子:
var text = "cat, bat, sat, fat";
var result = text.replace("at","ond");
//result的值为"cond, bat, sat, fat"
result = text.replace(/ar/g, "ond");
//result 的值为"cond, bond, sond, fond"
replace()方法的第二个参数也可以是函数。在只有一个匹配项的情况下,会向这个函数传递三个参数:模式的匹配项、模式匹配项在字符串中的位置和原始字符串。

第四个方法:split()

这个方法可以基于指定的分隔符将一个字符串分割成多个子字符串,并将结果存放在一个数组中。
分隔符可以是字符串,也可以是RegExp对象(这个方法不会将字符串看成正则表达式)。
split()方法可以接收第二个参数,用于指定数组的大小,以便确保返回的数组不会超过既定大小。
例子:
var colorText = "red,blue,green,yellow";
var colors1 = colorText.split(",");
//返回值colors1为["red","blue","green","yellow"]
var colors2 = colorText.split(",",2);
//返回值colors2为["red","blue"]
var colors3 = colorText.split(/[^\,]+/);//  '/[^\,]+/'这个的意思是取不是逗号的连续字符
//返回值colors3为["",",",",",",",""]

localeCompare()方法,比较两个字符串

localeCompare()方法是比较两个字符串,并返回下列值中的一个:
如果字符串在字母表中应该排在字符串参数之前,则返回一个负数(大多数情况下是-1,具体的值要视实现而定);
如果字符串等于字符串参数,则返回0;
如果字符串在字母表中应该排在字符串参数之后,则返回一个正数(大多数情况下是1,具体的值同样要视实现而定);
例子:
var stringValue = "yellow";
stringValue.localeCompare("brick");//返回值为1

fromCharCode()方法

这个方法的任务是接收多个字符编码,然后将他们转换为一个字符串。
这个方法与实例方法charCodeAt()执行的是相反的操作。
例子:
String.fromCharCode(104,101,108,108,111);//"hello"

HTML方法

猜你喜欢

转载自blog.csdn.net/swallow_y/article/details/79388057