JavaScript-字符串方法(小)总结

字符串方法(小)总结


一般用法

charAt()

返回指定索引位置的字符,存在的话返回索引位置,不存在话返回空。

var s = "qwe"
console.log(s.charAt(1))//w
console.log(Boolean(s.charAt(5)))//false

contact()

不改变原字符串,连接两个或多个字符串,返回连接后的字符串。

var str = "abc"
console.log(str.concat("ss")) //abcss
console.log(str) //abc

charCodeAt()

返回指定位置字符的Unicode编码 。

var s = "0bcssduvsjvs";
console.log(s.charCodeAt(0));//48

indexOf()和lastindexof()

indexof()返回字符串中检索指定字符第一次出现的位置。

lastIndexof返回字符串中检索指定字符最后一次出现的位置,可以有两个参数。

第二个参数表示开始检索的起始位置,返回的都是该字符的索引位置。

var str = "abcdefcba";
console.log(str.indexOf('c', 4)) ;//6
console.log(str.lastIndexOf('c', 4));//2

slice()

提取字符串的片段,并在新的字符串中返回被提取的部分。
只有一个参数的时候,返回的是从该位置到最后。
两个参数的时候,从该位置到指定位置(第二个参数)但是不包含结束位置(第二个参数指定的位置)
参数是负数的时候,表示从后遍历。

var str = "abcdef";
console.log(str.slice(1));//bcdef
console.log(str.slice(1, 2));//b
console.log(str.slice(-1));//f

substr()和substring()

当一个参数的时候,两个的表现形式都表示返回从指定位置到字符串最后。

当二个参数的时候,substr()的第二个参数表示长度,substring()的第二个参数表示截至位。

var str = "abcdef"
console.log(str.substr(1)) //bcdef
console.log(str.substring(1)) //bcdef

console.log(str.substr(1, 4)) //bcde
console.log(str.substring(1, 4)) //bcd
console.log(str) //abcdef 不改变原形

toUpperCase()和toLowerCase()

大小写互换。

var str1 = "abcdefcba";
var str2 = "ABCDEFCBA";
console.log(str1.toUpperCase());//ABCDEFCBA
console.log(str2.toLowerCase());//abcdefcba

split()

把字符串分割为字符串数组。

第二个参数是表示返回数组的最大长度。

一个参数的时候,该参数为字符串或者是正则表达式。会按照该参数来分隔字符串形成数组,比如字符串中有"|“符号,传的参数是”|",那么形成数组,就是按照|符号分隔形成的。

var str1 = "abcdefg";
console.log(str1.split("")); //a,b,c,d,e,f,g
console.log(str1.split("", 3)); //a,b,c
var str = "q|w|e,r|t,t|u|y";
console.log(str.split("|")); //q,w,e,r,t,t,u,y

toString()

var num = 113213;
var str = num.toString();//转为字符串
console.log(typeof str);//string

join()

把数组中的所有元素转换为一个字符串。

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();//Banana,Orange,Apple,Mango

match()

match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,例如:

var str="The rain in SPAIN stays mainly in the plain"; 
var n=str.match(/ain/g);

valueOf()

返回 String 对象的原始值,valueOf() 方法通常由 JavaScript 在后台自动进行调用。

var str="Hello world!";
document.write(str.valueOf());//Hello world!

trim()

trim() 方法用于删除字符串的头尾空白符,空白符包括:空格、制表符 tab、换行符等其他空白符等,不会改变原始字符串,不适用于 null, undefined, Number 类型。

var str = "       Runoob        ";
alert(str.trim());//Runoob

ES6新增

codePointAt()

返回所传索引位置处的字符 的代码点(ascll码)

var a = "abcdef";
a.codePointAt(0);//97

fromCodePoint()

String.fromCodePoint()方法,可以识别Unicode 编号大于0xFFFF的字符,并且返回该字符,

若传进多个参数,则会连接成字符串返回。

at()

与charAt()同用,但可以返回Unicode 编号大于0xFFFF的字符。、

'abc'.at(0) // "a"
'吉'.at(0) // "吉"
'吉'.charAt(0) // "�"

normalize()

许多欧洲语言有语调符号和重音符号。为了表示它们,Unicode 提供了两种方法。一种是直接提供带重音符号的字符,比如Ǒ(\u01D1)。另一种是提供合成符号(combining character),即原字符与重音符号的合成,两个字符合成一个字符,比如O(\u004F)和ˇ(\u030C)合成Ǒ(\u004F\u030C)。但目前不能识别三个或三个以上字符的合成。

'\u004F\u030C'.normalize('NFC').length // 1
'\u004F\u030C'.normalize('NFD').length // 2

normalize方法可以接受一个参数来指定normalize的方式,参数的四个可选值如下。

NFC,默认参数,表示“标准等价合成”(Normalization Form Canonical Composition),返回多个简单字符的合成字符。所谓“标准等价”指的是视觉和语义上的等价。

NFD,表示“标准等价分解”(Normalization Form Canonical Decomposition),即在标准等价的前提下,返回合成字符分解的多个简单字符。

NFKC,表示“兼容等价合成”(Normalization Form Compatibility Composition),返回合成字符。所谓“兼容等价”指的是语义上存在等价,但视觉上不等价,比如“囍”和“喜喜”。(这只是用来举例,normalize方法不能识别中文。)

NFKD,表示“兼容等价分解”(Normalization Form Compatibility Decomposition),即在兼容等价的前提下,返回合成字符分解的多个简单字符。

includes()

判断字符串中是否存在该字符。

var a = "asadasd";
console.log(a.includes("s"));//yes

startsWith()和endsWith()

该startsWith()方法确定字符串是否以指定字符串的字符开头,endsWith()判断字符串是否以指定字符串的字符结尾。两种方法区分大小写。

var str1 = "file:///C:/Users/iTAze/Desktop/1.html";
var str2 = "file.jpg";
console.log(str1.startsWith("file:///"))// true;
console.log(str2.endsWith(".jpg"))// true;

repeat()

返回一个重复n次的新字符串。

 var str1='a';
 var str2=str1.repeat(3);
 console.log(str2);//aaa

padStart()和padEnd()

用于头部补全和尾部补全

var aa = "1"
aa.padStart(4,'123') // 1231
aa.padEnd(6,'2') //122222

raw()

识别了特殊符。

var raw = String.raw'Not a newline: 
';
  document.write(raw === 'Not a newline: \n'); // true

模板字符串

模板字符串相当于加强版的字符串,用反引号 `, 除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。

普通用法
var string = `Hello'\n'world`;
console.log(string); 
// "Hello'
// 'world"
多行字符串
var string1 =  `Hey,
can you stop angry now?`;
console.log(string1);
// Hey,
// can you stop angry now?
字符串插入变量和表达式

变量名写在 ${} 中,${} 中可以放入 JavaScript 表达式。

var name = "Mike";
var age = 27;
var info = `My Name is ${name},I am ${age+1} years old next year.`
console.log(info);// My Name is Mike,I am 28 years old next year.
字符串中调用函数
function f(){
  return "have fun!";
}
let string2= `Game start,${f()}`;
console.log(string2);  // Game start,have fun!

最后
了解一下字符串的正则表达式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值