JavaScript中字符串常用的一些方法

indexOf()
str1.indexOf(str2,index) :返回str2在str1中首次出现的索引值,如果没有,返回-1。index为起始索引,可以省略,默认从首位置开始查找。
例:

<script>
    var str = 'abcedfg1234';
    document.write(str.indexOf('a')); //输出 : 0
    document.write(str.indexOf('z')); //输出 : -1
    document.write(str.indexOf('a',2)); //输出:-1。因为从第2个索引往后没有'a'了。
</script>

lastIndexOf()
str1.lastIndexOf(str2 :返回str2在str1中最后一次出现的索引值,如果没有,返回-1。

<script>
    var str = 'abcbdbee';
    console.log(str.lastIndexOf('b')); //输出 : 5
    console.log(str.lastIndexOf('z')); //输出 : -1
</script>

slice()
str.slice(startindex,endindex):截取字符串,从str中索引startindex开始截取,截到索引endindex。(返回值包含开始索引,不包含结束索引)。

  • 如果括号内只有一个参数,默认从改参数索引截取到最后一个。
  • 如果数值为负,倒着截取。
<script>
    var str = '01234566543210';; 
    console.log(str.slice(1)); //输出 :1234566543210。 取值范围为[1,str1.length-1]
    console.log(str.slice(1,4)); //输出 :123 。取值范围为[1,4)
    console.log(str.slice(-3,-1)); //输出 :21 。取值范围为(-3,-1]
</script>

substring()
类似于slice(),但是无法接受负值索引。

<script>
    var str = '01234566543210';
    console.log(str.substring(1)); //输出 :1234566543210。 取值范围为[1,str1.length-1]
    console.log(str.substring(1,4)); //输出 :123 。取值范围为[1,4)
</script>

substr()
str.substr(index,length):截取字符串,从str的索引为index的字符开始截取,截取长度为length。

  • 如果没有第二个参数,默认截取到最后。
  • 如果第一个参数为负,从倒数第index个索引开始截取(不包括第index个字符),往后截取length个字符
<script>
    var str = '01234566543210';
    console.log(str.substr(5)); //输出 :566543210。 
    console.log(str.substr(1,4)); //输出 :1234 。
    console.log(str.substr(-4,3)); //输出 :321 。
</script>

replace()
str.replace(res1,res2):用res2替换掉str中第一个出现的res1。

<script>
    var str = 'abcdeabcde';
    console.log(str.replace('c','-xx-')); //输出 :ab-xx-deabcde。 
    console.log(str.replace('ab','-x-')); //输出 :-x-cdeabcde 。
    console.log(str.replace('dea','-x-')); //输出 :abc-x-bcde 。
</script>

toUpperCase()
&str.toUpperCase():将str中所有小写字母变成大写。
toLowerCase()
str.toLowerCase():将str中所有大写字母变成小写。

<script>
    var str = 'abcDEF123';
    console.log(str.toUpperCase()); //输出 :ABCDEF123 。 
    console.log(str.toLowerCase()); //输出 :abcdef123 。
</script>

trim()
str.trim():删除str字符串两端的空格。

<script>
    var str = '  abc   defg   ';
    console.log(str.trim()); //输出 :abc   defg 。 
</script>

charAt()
str.charAt(index):返回字符串str中索引为index的字符。

  • 如果括号内为空,或者为非数值型字符,输出str中第一个字符。
  • 如果括号内索引超出了str长度。则返回空。
<script>
    var str = 'abcdefg';
    console.log(str.charAt('3')); //输出 :d。 
    console.log(str.charAt()); //输出 :a 。
    console.log(str.charAt('11')); //输出 :空。
    console.log(str.charAt('dfs')); //输出 :a。
</script>

charCodeAt()

str.charCodeAt(index):返回字符串str中索引为index的编码。如果是中文,返回Unicode码,其他返回ASSIC码。

  • 如果括号内为空,或者为非数值型字符,输出str中第一个字符的编码。
  • 如果括号内索引超出了str长度。则返回NaN。
<script>
    var str = '你abcdefg';
    console.log(str.charCodeAt('1')); //输出 :97。 
    console.log(str.charCodeAt()); //输出 :20320 。
    console.log(str.charCodeAt('dfs')); //输出 :20320。
    console.log(str.charCodeAt('11')); //输出 :NaN。       
</script>

split()
str.split(""):将字符串str转换为数组,分隔字符为""内字符。

<script>
    var str = 'a,b,c,d,e';
    console.log(str.split(',')); //输出 :["a", "b", "c", "d", "e"] 。 
    var str = 'a b c d e';
    console.log(str.split(' ')); //用空格分隔 。
    var str = 'a-b-c-d-e';
    console.log(str.split('-')); //用“-”分隔 。       
</script>

toString()

  • 可以把其他类型变量变成字符串类型。
  • 可以把十进制数输出为十六进制、八进制、二进制。
<script>
    var str1 = 123 ;
    var str2 = true ;
    console.log(typeof(str1.toString())); //输出 :string 。 
    console.log(typeof(str2.toString())); //输出 :string 。

    var num = 100 ;
    console.log(num.toString(16)); //输出 :64 ; 转换为十六进制。      
    console.log(num.toString(8)); //输出 :144 ; 转换为八进制。
    console.log(num.toString(2)); //输出 :1100100 ; 转换为二进制。
</script>

注:以上方法都不会改变原字符串,会返回一个新的字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值