JavaScript String 字符串类型

1. String对象属性

属性 描述
length 字符串的长度

示例代码:

    var str ="this is a string";
    console.log(str.length);
    //16

2. String对象方法

String 类型的方法有很多,其中有一部分涉及到文本的样式变化,根据HTML规范,页面的结构、样式及行为应当分离。当我们想要改变文本的样式时,应该引用相应的CSS样式,而是通过JS去实现,因此本文对这部分的JS方法不作详细介绍。

属性 描述
charAt() 返回在指定位置的字符。
charCodeAt() 返回在指定的位置的字符的 Unicode 编码。
fromCharCode() 从字符编码创建一个字符串。
concat() 连接字符串。
indexOf() 检索字符串。
lastIndexOf() 从后向前搜索字符串。
localeCompare() 用本地特定的顺序来比较两个字符串。
match() 找到一个或多个正则表达式的匹配。
replace() 替换与正则表达式匹配的子串。
search() 检索与正则表达式相匹配的值。
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
substr() 从起始索引号提取字符串中指定数目的字符。
substring() 提取字符串中两个指定的索引号之间的字符。
split() 把字符串分割为字符串数组。
toLocaleLowerCase() 把字符串转换为小写。
toLocaleUpperCase() 把字符串转换为大写。
toLowerCase() 把字符串转换为小写。
toUpperCase() 把字符串转换为大写。
toSource() 代表对象的源代码。
toString() 返回字符串。
valueOf() 返回某个字符串对象的原始值。
- -
涉及样式调整或页面结构的方法
anchor() 创建 HTML 锚。
big() 用大号字体显示字符串。
blink() 显示闪动字符串。
bold() 使用粗体显示字符串。
fixed() 以打字机文本显示字符串。
fontcolor() 使用指定的颜色来显示字符串。
fontsize() 使用指定的尺寸来显示字符串。
italics() 使用斜体显示字符串。
link() 将字符串显示为链接。
small() 使用小字号来显示字符串。
strike() 使用删除线来显示字符串。
sub() 把字符串显示为下标。
sup() 把字符串显示为上标。

代码示例:

var str = "hello";
console.log(str.charAt(0));
//h  
console.log(str.charAt(10));
//如果下标超过字符串的长度,则返回空字符串
console.log(str.charCodeAt(0));
//104   “h”的Unicode编码
console.log(str.charCodeAt(str.length));
//NaN   当下标超过字符串长度时
console.log(String.fromCharCode(97,98,99,100));
//abcd   这个方法与charCodeAt()方法相对应,接收一个Unicode值,返回字符结果。与其他方法不同的是这
//是String对象的一个静态方法,因此使用的方式为String.fromCharCode(num),
//而不是strObj.fromCharCode(num)
console.log(str.concat(" world"));
//hello word
console.log(str);
//hello     str本身的值并没有改变
console.log(str.concat(['a','b']));
//helloa,b  会先将数组字符串化,然后再进行拼接
console.log(str.indexOf("l"));
//2    返回指定字符在字符串中首次出现的下标(str中包含两个“l”)
console.log(str.indexOf("z"));
//-1   若该字符不存在则返回“-1”
console.log(str.indexOf("l"));
//3   
var a="a",b="b";
console.log(a.localCompare(b));
//-1  若两个字符相等则返回“0”,若a大于b则返回“1”


2.1 字符查找与正则匹配 match()、search()、replace()

这三个方法都可用于正则匹配,所接受的参数即可以是一个指定的字符串,也可以是一个正则表达式。

var mail= "[email protected]";
console.log(mail.match(mail.match(/@\w+./)));
//@gmail.
var str = "hello world";
console.log(str.replace(/\b\w+\b/g,function(word){
    return word.substring(0,1).toUpperCase()+word.substring(1);
}));
//Hello World;
console.log(str.search(/world/));
//6

2.2 字符串截取 slice(star,end)、substr(star,length)、substring(star,end)

slice与substring一样都是用来截取字符串,第一个参数代表起始位置(包含),第二个参数代表结束位置(不包含),唯一的不同在于,slice的两个参数可以为负数,而substing的参数需要为正整数。当slice的参数为负数时,代表从后向前的下标,例如如果star=-1则代表起始位置是最后一个字符。
substr的第一个参数代表起始位置,第二个参数代表截取的字符长度,由于ECMAscript没有对该方法进行标准化,因此不推荐使用。

var str = "hello word";
console.log(str.slice(-3,-1));
//or
console.log(str.substr(1,2));
//el
console.log(str.substring(0,2));
//he

2.3 字符串分隔 split(separator[, num])

split() 方法用于把一个字符串分割成字符串数组。第一个参数代码分隔符,第二个参数是可选的,如果不填那么split将分割后的数组如数返回,如果num有值,则返回对应数量的数组

var str = "a b c d";
str.split(' ');
//['a','b','c','d']
str.split(' ',2);
//['a','b']

split()方法和Array.join()相对应

2.3 大小写转换 toLowerCase()、toUpperCase()、toLocaleLowerCase()、toLocaleUpperCase()

toLowerCase()和toUpperCase()是相对应的方法,分别将字符串转成全小写或全大写。

var str = "Hello";
str.toLowerCase();
//hello
str.toUpperCase();
//HELLO

toLocaleLowerCase()、toLocaleUpperCase()在中文和英文环境下与前两个方法的作用一样,仅在部分特殊语言场景下会使用本地化方式(如土耳其语)。

3. 注意事项

3.1 indexOf()与lastIndexOf()

indexOf()和lastIndexOf()的功能基本一致,都是返回指定文本在字符串中出现的下标位置。二者唯一的区别就在于当字符串中存在相同字符时的处理方式,通过下面这个例子就很容易理解了。

var str = "hello";
console.log(str.indexOf("l"))
//2  返回指定字符在字符串中首次出现的下标(str中包含两个“l”)
console.log(str.lastIndexOf("l"))
//3  返回指定字符在字符串中最后一次出现的下标

3.2 字符大小比较——localCompare()

javascript中字符比较可以直接用“>”或者“<”,但是这种比较是基于字符的Unicode来的。而localCompare()则是结合了本地的排序规则。示例代码:

var a = "李";//Unicode=26446
var b = "张";//Unicode=24352
console.log(a<b);
//false   "李"的Unicode大于“张”
console.log(a.localCompare(b))
//-1      按拼音顺序“李”小于“张”

3.3 search()与indexOf()的区别

search()和indexOf()均能返回字串在字符串中首次出现的下标,若没有匹配的字串则返回-1 。唯一不同的是search()的参数还可以是一个正则表达式,而indexOf()则不允许。

猜你喜欢

转载自blog.csdn.net/qiumingsheng/article/details/50054875
今日推荐