包装类与字符串与正则表达式
在js中给我们提供了三个包装类:
String()可以将基本数据类型的字符串转换为String对象。
Number()可以将基本数据类型的数值转换为Number对象。
Boolean()可以将基本数据类型的布尔值转换为Boolean对象。
方法和属性只能添加给对象,不能添加给基本数据类型。,当我们对基本数据类型的值去调用方法和属性时,浏览器会临时使用包装类将其转换为对象,然后在调用对象的属性与方法,调用完以后,再将其转换为基本数据类型。
字符串:
在底层字符串是以字符数组的形式保存的。length属性可以获取字符串的长度。
charAt()可以获得指定位置的字符,根据索引获取指定的字符。
charCodeAt()获取指定位置的字符编码。
formCharCode ()可以根据字符编码去获取字符。
conCat()可以连接两个或多个字符串,作用和+一样。
indexof()该方法可以检索一个字符串中是否含有指定内容,如果该字符串中含有指定内容,则会返回第一次出现的索引,如果没有指定的内容,则返回-1.可以指定第二个参数,来指定开始查找的位置。
lasrIndexOf()该方法和indexof()一样,不同的是indexof()是从前往后找,lastIndexOf()是从后往前找。
slice()可以从字符串中截取指定的内容。不会影响原字符串,而是将截取的内容返回。参数:第一个开始位置的索引(包括开始),第二个结束位置的索引(不包括结束)。如果省略第二个参数,则会截取后面所有的字符串。也可以传递一个负数作为参数,将会从后开始。
substring()也可以截取字符串。参数:第一个开始位置的索引(包括开始),第二个结束位置的索引(不包括结束)。这个方法不能传递负值,如果传递了一个负值,则默认使用0.并且他还会自动调整参数的位置,如果第二个参数小于第一个,则自动交换。
substr()也是用来截取字符串。参数:第一个截取开始位置的索引,第二个截取的长度。
split()可以将一个字符串拆分为一个数组。参数:需要一个字符串作为参数,将会根据字符串去拆分数组。
toUpperCase()将一个字符串转换为大写并返回。toLowerCase()将字符串转换为小写。
正则表达式:
用于定义字符串的规则。计算机可以根据正则表达式,来检查一个字符串是否符合规则,将字符串中符合规则的内容提取出来。
创建正则表达式的对像,语法:var 变量=new RegExp("正则表达式“,”匹配模式") var reg =new RegExp ();
正则表达式的方法:test() 使用这个方法可以检查一个字符串是否符合正则表达式的规则,如果符合则返回true,不符合则返回false.在构造函数中可以传递一个匹配模式作为第二个参数可以是i 表示忽略大小写,g 全局匹配模式。
使用字面量来创建正则表达式,语法:var 变量=/正则表示式/匹配模式。使用|表示或者的意思。创建一个正则表达式是否含有字母:/[a-z]/ 表示任意小写字母, [A-z]表示任意字母。[^]表示除了的意思。/[0-9]/表示任意数字。
split():方法中可以传递一个正则表达式作为参数,这样方法会根据正则表达式去拆分字符串。
search():可以接受正则表达式作为一个参数,然后根据正则表达式去检索字符串。
match():可以根据正则表达式,从一个字符串中将符合条件的内容提取出来。默认情况下match只会找到第一个符合条件的字母,找到以后就停止检索。我们可以设置正则表达式为全局匹配模式,这样就会匹配到所有的内容。可以为一个正则表达式设置多个匹配模式,并且顺序无所谓。match()会将匹配的内容封装到一个数组中返回,即使只查询到一个数组。
replace():可以将指定内容替换为新的内容。需要2个参数,第一个参数是被替换的内容(可以接受正则表达式作为参数,可以设置全局匹配模式),第二个参数是新的内容。
量词:
通过量词可以设置一个内容出现的次数,{n} 表示正好出现n次。量词只对它前面的一个内容起作用,如果想选中连续的内容,可以用()包起来。
{m,n} 表示出现m-n次。 {m,} 表示出现m次以上。
+ 表示至少一次,相当于{1,} * 表示0个或多个,相当于{0,} ?表示0个或一个,相当于{0,1} 。 /^a/以a开头,/a$/以a结尾。
.表示任意字符,如果想要查找点,可以使用转义字符。在正则表达式中\为转义字符。在构造函数中,由于他的参数是一个字符串,需要使用\\
\w表示任意字母,数字,下划线。\W除了字母,数字,下划线。\d任意的数字相当于[0-9] 。\D除了数字相当于[^0-9] \s表示空格 \S表示除了空格。 \b单词边界 \B除了单词边界