js字符串方法

concat

字符串拼接方法,与数组中的concat()用法基本相同。一般来说不用,而是用更为简单的+代替。

    var str = 'hello';

    console.log(str + ' world');//hello world
    console.log(str.concat(' world'));//hello world
charAt & charCodeAt

二者都是根据传入的索引号获取相应单字符,只不过前者返回值,后者返回字符编号。

不传入参数默认获取0号位置的字符。

    var str = 'hello world';
    console.log(str.charAt())//h
    console.log(str.charCodeAt())//104
    console.log(str.charAt(0))//h
    console.log(str.charCodeAt(0))//104
    console.log(str.charAt(5))//
    console.log(str.charCodeAt(5))//32
    console.log(str.charAt(4))//o
    console.log(str.charCodeAt(4))//111

在es5中,可以用方括号直接获取到对应位置的字符。

    var str = 'hello world';
    console.log(str[4]);//o
slice & substr & substring
  • 三者都会返回一个新的字符串,且都接收1-2个参数。
  • 第一个参数均为开始截取的位置;
  • 第二个参数,slice以及substring为结束截取的位置,不是必需的,不传入则截取至字符串结尾。
  • substr的第二个参数为截取的字符总数。
  • 当传入的参数为负数时,三者会有不同的行为,这里不讨论。
    var str = 'hello world';
    console.log(str.slice(3));//lo world
    console.log(str.substring(3));//lo world
    console.log(str.substr(3));//lo world

    console.log(str.slice(3,7));//lo w
    console.log(str.substring(3,7));//lo w
    console.log(str.substr(3,7));//lo worl
indexOf & lastIndexOf

两个方法均为查找是否包含指定字符串,如果字符串中有指定的子串,则返回其起始索引号;没有则返回-1。前者从数组开头向后查,后者从数组结尾向前查找。

两个方法都接收2个参数,查找的值 和 开始查找的索引号(可选)。

    var str = 'hello wstrorld';

    console.log(str.indexOf('str'));//7
trim

es5中新增的方法,用于去除字符串开头和结尾的空格,返回一个新字符串。

    var str = '         hello world        ';

    console.log(str.trim());//hello world

可用于表单的输入验证,去除用户输入的无效的空格。

此外,非标准的trimLeft()trimRight()方法,分别去除字符串开头,字符串结尾的空格,具有兼容性问题。

toLowerCase & toUpperCase

借鉴于java.lang.String中的同名方法。前者将所有字符转换为小写,后者转换为大写,返回一个新的字符串。

    var str = 'HeLLo WorLd';

    console.log(str.toLowerCase());//hello world
    console.log(str.toUpperCase());//HELLO WORLD
match & search
  • 二者用于匹配字符串,只接收一个参数,且这个参数要么是一个正则表达式,要么是一个RegExp对象。
  • 前者返回一个数组,数组的第一项为匹配的字符串,之后的项为正则表达式捕捉的项;
  • 后者返回起始索引号,若未查找到返回-1。
    var str = 'HeLLo WorLd';

    console.log(str.match(/orl/i));//"orL", index: 7, input: "HeLLo WorLd"
    console.log(str.search(/orl/i));//7
replace
  • 该方法接收两个参数
  • 第一个参数是一个正则表达式或一个RegExp对象或一个字符串(该字符串不会被转换为正则表达式)。若为字符串,则匹配第一个出现的该字符串。
  • 第二个参数为新的,准备替换的字符串或者函数。
  • 该方法还有更复杂的用法,这里不讨论。
    var str = ' HeLLo WorLd  HeLLo worLd ';

    console.log(str.replace('Wor','zed'));// HeLLo zedLd  HeLLo WorLd
    console.log(str.replace(/Wor/ig,'zed'));//HeLLo zedLd  HeLLo worLd
    console.log(str.replace(/ /g,''));//HeLLoWorLdHeLLoworLd
split
  • 该方法可将一个字符串按照分隔符分割成多个子字符串,并且将它们组成一个数组返回。
  • 分隔符可以是一个正则表达式或RegExp对象,也可以是一个字符串(不会转化为正则表达式)。
  • 可以接收第二个参数,限定数组的大小。
    var str = 'a,b,c,d,e,f,D,,g';
    console.log(str.split(','));//["a", "b", "c", "d", "e", "f", "D", "", "g"]
    console.log(str.split(',',3));//["a", "b", "c"]
    console.log(str.split(/d/i));//["a,b,c,", ",e,f,", ",,g"]
结语

有所收获的话,点个赞吧~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值