-
属性:length
string类型的每个实例都有一个length属性,表示该字符串中包含多个字符。
var stringValue="hello world";
alert(stringValue.length);//11 -
字符方法:charAt()与charCodeAt()
这是两个用于访问字符串中特定字符的方法,两个方法都接收一个参数,即基于0的字符位置。 - charAt():以单字符的形式返回给定位置的那个字符。
var stringValue="hello world";
var s1=stringValue.charAt(1);
alert(s1);//e - charCodeAt():返回给定位置的那个字符的字符编码。
var stringValue="hello world";
var s1=stringValue.charCodeAt(1);
alert(s1);//101 - 括号加索引法
var stringValue="hello world";
alert(stringValue[1]);//e - 字符串操作方法
- concat():用于将一个或多个字符串拼接起来,返回拼接得到的新字符串。
var stringValue="hello ";
var result=stringValue.concat('world')
alert(result);//hello world
但实践中,达到相同的效果,更多的使+
号操作符。
var stringValue="hello ";
var result=stringValue+'world';
alert(result);//hello world - 返回子字符串,接受两个参数,第一个表示子字符串开始的位置,第二个表示子字符串结束的位置。
- slice():第二个参数表示子字符串最后一个字符后面的位置
- substring():第二个参数,同上
- substr():第二个参数表示返回的字符个数。
以上三个方法,如果没有第二个参数,则将字符串的长度作为结束位置。
var stringValue="hello world";
var re1=stringValue.slice(3);//lo world
var re2=stringValue.substring(3);//lo world
var re3=stringValue.substr(3);//lo world
var stringValue="hello world";
var re1=stringValue.slice(3,7);//lo w
var re2=stringValue.substring(3,7);//lo w
var re3=stringValue.substr(3,7);//lo worl
当存在负数的情况下,如果只有一个负数,.slice()
.substr()
表示从右面数,保留负数的绝对值个。.substring()
把所有负数转化为0。
var stringValue="hello world";
var re1=stringValue.slice(-3);//rld
var re2=stringValue.substring(-3);//hello world
var re3=stringValue.substr(-3);//rld
如果第二个参数出现负数,.slice()
从右数,去除负数的绝对个.substr()
负数转换为零,及选中零个字符,.substring()
负数转换零,颠倒正负数位置。
var stringValue="hello world";
var re1=stringValue.slice(4,-3);//o wo
var re2=stringValue.substring(4,-3);//hell
var re3=stringValue.substr(4,-3);//""
-
字符串位置方法
从字符串中查找子字符串位置。
var stringValue="hello world";
var re1=stringValue.indexOf('o'); //4,左数
var re2=stringValue.lastIndexOf('o');//7,右数
两个参数时,第二个参数,表示开始搜索字符的位置,前者表示在第二个参数之后,后者表示在第二个参数之前搜索。
var stringValue="hello world";
var re1=stringValue.indexOf('o',6); //7
var re2=stringValue.lastIndexOf('o',6);//4
【应用】
//搜索一段字符中lina出现的次数
var stringValue="hi my name is lina,hey lina,lina! im nali";
var positions=new Array();
var pos=stringValue.indexOf('lina');
while(pos>-1){
positions.push(pos);
pos=stringValue.indexOf('lina',pos+1)
}
var l=positions.length;
alert('lina共出现'+l+'次');//4次 -
trim()方法
支持这个方法的浏览器有IE9+,FireFox3.5+,Safari5+,Opera10.5+.Chrome.
这个方法可以制造一个去掉前后空格的副本。
var stringvalue=' hello ';
alert(stringvalue.length);//20
var str_trim=stringvalue.trim();
alert(str_trim.length);//5 -
字符串大小写转换法
有四种方法,带local
的方法,是在不知道代码将在哪种语言环境下运行的情况下,选择针对本地环境运行。
var stringvalue="hello";
alert(stringvalue.toLowerCase());//hello
alert(stringvalue.toUpperCase());//HELLO
alert(stringvalue.toLocaleLowerCase());//hello
alert(stringvalue.toLocaleUpperCase());//HELLO -
字符串模式匹配法
- match() 只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。返回一个数组,数组的第一项是与整个模式第一个匹配的字符串,之后的每一项保存着与正则表达式中捕获组匹配的字符串。
var text="cat,bat,sat,fat";
var pattern=/.at/;
var matches=text.match(pattern);//cat - search()只接受一个参数,与match相同, 但是返回的是字符串中第一个匹配项的索引,如果没有找到匹配项,那么返回-1
var text="cat,bat,sat,fat";
var pattern=/at/;
var pos=text.search(pattern);
alert(pos);//1
- match() 只接受一个参数,要么是一个正则表达式,要么是一个RegExp对象。返回一个数组,数组的第一项是与整个模式第一个匹配的字符串,之后的每一项保存着与正则表达式中捕获组匹配的字符串。
- replace()这个方法接受两个参数,第一个参数可以是一个正则表达式,也可以是一个不会转化为正则表达式的字符串,第二个参数,可以是一个字符串或者是一个函数。
var text="cat,bat,sat,fat";
var result=text.replace('at','ond');//cond,bat,sat,fat
alert(result)
var text="cat,bat,sat,fat";
var result=text.replace(/at/g,'ond');//cond,bond,sond,fond
alert(result)
第一个参数如果是字符串,只是简单的找到第一个匹配的字符串然后替换。
第一个参数选择一个带有全局标志的正则表达式,可以很哈的替换全局中的匹配项。
在第二个参数上,做一些修饰:
var text="cat,bat,sat,fat";
var result=text.replace(/(.a)(t)/g,'world($1)');//world(ca),world(ba),world(sa),world(fa)
var result=text.replace(/(.a)(t)/g,'world($2)');//world(t),world(t),world(t),world(t)
该方法的第二个参数也可以是一个函数
function htmlEscape(text){
return text.replace(/[<>"&]/g,function(match,pos,originalText){
switch (match){
case "<":
return "<";
case ">":
return ">";
case "&":
return "&";
case """:
return """;
}
})
}
alert(htmlEscape("<p class="greeting">hello world</p>"));
第二个参数:函数,所包含的参数分别是:模式的匹配项,模式匹配项在字符串中的位置和原始字符串。
该函数的目的是转义四个字符。 - split()这个方法基于指定的分隔符,将一个字符串分割成多个字符串。
var colorText="red,blue,green,yellow";
var colors1=colorText.split(',');//
var colors2=colorText.split(',',2);//第二个参数用于指定数组的大小
var colors3=colorText.split(/[^,]+/); - localeCompare() 比较两个字符串,比较的是该字符出现在字母表的前后顺序,后者大于前者返回1,相等返回0,小于返回-1.
var stringvalue='yellow';
alert(stringvalue.localeCompare('brick'));//1 - fromCharCode()方法,接受一个或多个字符编码,将他们,转换成字符串。
alert(String.fromCharCode(104,101,108,108,111));//hello
基本包装类型—String类型
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Chapter 5 引用类型 Object类型 创建Object实例new Object()var person ...