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= "0dynamicant0@gmail.com";
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()则不允许。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值