JavaScript String类型
概述
String类型是字符串的对象包装类型,用于处理文本(字符串)。
使用String构造函数来创建。
var stringobject = new String("hello"); //构造函数创建 var stringobject = "hello";
1.String对象属性
consttructor:对创建该对象的函数的引用
length:字符串的长度
prototype:允许向对象添加属性和方法
2.String对象方法
(1)字符方法
l两个用于访问字符串中特定字符的方法:
charAt():接收一个参数,从0开始计算。以单字符字符串的形式返回给定位置的那个字符串。
charCideAt():接收一个参数,从0开始计算。返回给定位置字符的字母编码。
fromCharCode():接受一个或多个 Unicode 值。返回代表 Unicode 编码的字符。
ES5还定义了一个使用方括号加数字访问特定字符的方法。
var a = 'hello,javascript'; console.log(a.charAt(6)); //j console.log(a.charCodeAt(2));//108 console.log(a[1]); //e var b = String.fromCharCode(65,66,67,68); console.log(b); //ABCD
(2)字符串操作方法
concat():连接两个或者更多的字符串,并返回新的字符串
slice( start,end): start指子字符串的开始位置,end(在指定的情况下)表示字符串到哪里结束。
substr(start,length):start指子字符串的开始位置,length9在指定的情况下)表示截取的字符串长度,必须是数值。如果省略了该参数,那么返回从开始位置到结尾的字串。
substring(from,to):from指子字符串的开始位置,to(在指定的情况下)表示字符串到哪里结束,如果省略该参数,那么返回的子串会一直到字符串的结尾。
var a = 'hello,javascript'; console.log(a.slice(1,3)); //el //截取第二个字符,到第四个字符(第四个不要) console.log(a.slice(-3)); //ipt //-3转化为13.因为(-3)+16=8. console.log(a.slice(3,-3)); //lo,javascr //截取的是第四个字符到第十六个字符 console.log(a.substr(2,3)); //llo //截取的是第二个字符开始,截取三个字符。 console.log(a.substr(2)); //llo,javascript //第二个字符开始,截取后面所有的字符 console.log(a.substr(2,-3)); //'' //-3会转化为0,截取空字符串 console.log(a.substring(1,5)); //ello //截取第二个字符,到第五个字符(第五个不要) console.log(a.substring(-2)); //hello,javascript //截取第二个字符后面的所有字符 console.log(a.substring(2,1)); //e //截取第一个字符到第二个字符
(3)字符串位置方法
有两个可以从字符串中查找子字符串的方法:
indexOf():从前向后搜索字符串,返回某个指定的字符串值在字符串中首次出现的位置。如果没找到字符串则返回-1。
lastIndexOf():从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。如果没找到字符串则返回-1。
startsWith():用于检测字符串是否以指定的子字符串开始。该方法接受两个参数,第一参数是必须,是一个要查找的字符串。第二个参数是查找开始的位置,默认为0。如果是以指定的子字符串开头返回 true,否则 false。该方法对大小写敏感。
includes():查找字符串中是否包含指定的子字符串。第一个参数是需要查找的子字符串,第二个参数是查找开始的位置,默认为0.如果找到该字符串则返回true,反之返回false。
var a = 'hello,javascript'; var s = 't'; console.log(a.indexOf(s)); //15 console.log(a.lastIndexOf('script')); //10 console.log(a.startsWith("javascript", 6)); // true
(4)trim()方法
这个方法会创建一个字符串的副本,删除前置或者后缀的所有空格,然后返回结果。
var a = ' hello,javascript '; console.log(a.trim()); //hello,javascript
(5)字符串大小写转换方法
toUpperCase():方法用于把字符串中的字母转换为大写。
toLowerCase():方法会将字符串中的所有字母转换为小写。
(6)字符串的模式匹配方法
match():在字符串上调用这个方法,在本质上与RegExp的exec()方法相同。match()只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。
返回值是存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。 如果没找到匹配结果返回 null 。
match方法返回的数组有3个属性:input,index,lastindex。
function myFunction(){ var str="The rain in SPAIN stays mainly in the plain"; var n=str.match(/ain/g); document.write(n); } myFunction(); //ain,ain,ain
search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有找到任何匹配的子串,则返回 -1。只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。
返回值是与指定查找的字符串或者正则表达式相匹配的 String 对象起始位置。
function myFunction(){ var str="The rain in SPAIN stays mainly in the plain"; var n=str.search(/ain/); document.write(n); console.log(n); } myFunction(); //5
replace():用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
该方法接受两个参数:第一个参数是必须的,规定子字符串或要替换的模式的 RegExp 对象。第二个参数是必需的,它是一个字符串值。规定了替换文本或生成替换文本的函数。
返回值是一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的。
function myFunction(){ var str='Mr Blue has a blue house and a blue car.'; var n=str.replace(/blue/g,"red"); document.write(n); console.log(n); } myFunction(); //Mr Blue has a red house and a red car.
split():用于把一个字符串分割成字符串数组。
该方法接受两个参数;第一个参数是可选的,字符串或正则表达式,从该参数指定的地方分割 string对象。第二个参数是可选,该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
返回值是一个字符串数组。
function myFunction(){ var str='Mr Blue has a blue house and a blue car.'; var n=str.split(' '); //用空格分隔 document.write(n[2]); console.log(n); //["Mr", "Blue", "has", "a", "blue", "house", "and", "a", "blue", "car."] } myFunction(); //has

浙公网安备 33010602011771号