首页 web前端 js教程 js字符串操作大全

js字符串操作大全

Apr 23, 2018 am 10:19 AM
javascript 字符串 操作

这次给大家带来js字符串操作大全,js字符串操作的注意事项有哪些,下面就是实战案例,一起来看一下。

字符方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  /* 
  charAt方法和charCodeAt方法都接收一个参数,基于0的字符位置 
  charAt方法是以单字符字符串的形式返回给定位置的那个字符 
  charCodeAt方法获取到的不是字符而是字符编码 
   */ 
    var str="hello world"; 
    console.log(str.charAt(1));//e 
    console.log(str.charCodeAt(1));//101 
    //还可以使用方括号加数字索引来访问字符串中特定的字符 
    console.log(str[1]);//e 
  </script> 
  </body> 
</html>
登录后复制

字符串操作方法
concat方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>concat方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    var str="hello "; 
    var res=str.concat("world"); 
    console.log(res);//hello world 
    console.log(str);//hello  这说明原来字符串的值没有改变 
    var res1=str.concat("nihao","!"); 
    console.log(res1);//hello nihao!  说明concat方法可以接收任意多个参数 
    //虽然concat方法是专门用来拼接字符串的,但是实践中我们使用最多的还是加操作符+,因为其简易便行 
  </script> 
  </body> 
</html>
登录后复制

slice方法、substring方法、substr方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符串操作方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    /* 
    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  7表示子字符串最后一个字符后面的位置  简单理解就是包含头不包含尾 
    console.log(str.substring(3,7));//lo w 
    console.log(str.substr(3,7));//lo worl 7表示返回7个字符 
 
    console.log(str.slice(3,-4));//lo w  -4+11=7表示子字符串最后一个字符后面的位置  简单理解就是包含头不包含尾 
    console.log(str.substring(3,-4));//hel  会转换为console.log(str.substring(3,0)); 
    //此外由于这个方法会将较小数作为开始位置,较大数作为结束位置,所以相当于调用console.log(str.substring(0,3)); 
    console.log(str.substr(3,-4));//""空字符串 
    console.log(str.substring(3,0)); 
  </script> 
  </body> 
</html>
登录后复制

字符串位置方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符串位置方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    /* 
    indexOf方法和lastIndexOf方法都是从一个字符串中搜索给定的子字符串,然后返回子字符串的位置,如果没有找到,则返回-1 
    indexOf方法是从字符串的开头向后搜索子字符串,lastIndexOf方法正好相反 
    这两个方法都可以接收两个参数:要查找的子字符串和查找的位置 
     */ 
    var str="hello world"; 
    console.log(str.indexOf("o"));//4 
    console.log(str.lastIndexOf("o"));//7 
    console.log(str.indexOf("o",6));//7 
    console.log(str.lastIndexOf("o",6));//4 
  </script> 
  </body> 
</html>
登录后复制

trim方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>trim方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    /* 
    trim方法用来删除字符串前后的空格 
     */ 
    var str="   hello world   "; 
    console.log('('+str.trim()+')');//(hello world) 
    console.log('('+str+')');//(   hello world   ) 
  </script> 
  </body> 
</html>
登录后复制

字符串大小写转换方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>大小写转换</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    var str="HELLO world"; 
    console.log(str.toLowerCase());//hello world 
    console.log(str.toUpperCase());//HELLO WORLD 
  </script> 
  </body> 
</html>
登录后复制

字符串模式匹配方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符串模式匹配</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  /* 
  match方法:只接受一个参数,由字符串或RegExp对象指定的一个正则表达式 
  search方法:只接受一个参数,由字符串或RegExp对象指定的一个正则表达式 
  search方法返回字符串中第一个匹配项的索引,如果没有匹配项,返回-1 
   */ 
  var str="cat,bat,sat,fat"; 
  var pattern=/.at/; 
  var matches=str.match(pattern); 
  console.log(matches.index);//0 
  console.log(matches[0]);//cat 
  console.log(pattern.lastIndex);//0 
  //lastIndex表示开始搜索下一个匹配项的字符位置,从0算起 
  var pos=str.search(/at/); 
  console.log(pos);//1 1表示at字符串在原来字符串中第一次出现的位置 
  </script> 
  </body> 
</html>
登录后复制

replace方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>replace方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    var str="cat,bat,sat,fat"; 
    var res=str.replace("at","one");//第一个参数是字符串,所以只会替换第一个子字符串 
    console.log(res);//cone,bat,sat,fat 
 
    var res1=str.replace(/at/g,"one");//第一个参数是正则表达式,所以会替换所有的子字符串 
    console.log(res1);//cone,bone,sone,fone 
  </script> 
  </body> 
</html>
登录后复制

split方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>split方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  /* 
  split方法是基于指定的字符,将字符串分割成字符串数组 
  当指定的字符为空字符串时,将会分隔整个字符串 
   */ 
    var str="red,blue,green,yellow"; 
    console.log(str.split(","));//["red", "blue", "green", "yellow"] 
    console.log(str.split(",",2));//["red", "blue"]  第二个参数用来限制数组大小 
    console.log(str.split(/[^\,]+/));// ["", ",", ",", ",", ""] 
    //第一项和最后一项为空字符串是因为正则表达式指定的分隔符出现在了子字符串的开头,即"red"和"yellow" 
    //[^...] 不在方括号内的任意字符  只要不是逗号都是分隔符 
  </script> 
  </body> 
</html>
登录后复制

localeCompare方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>localeCompare方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    /* 
    这个方法用于比较两个字符串 
    1.如果字符串在字母表中应该排在字符串参数之前,则返回一个负数 
    1.如果字符串等于字符串参数,则返回0 
    1.如果字符串在字母表中应该排在字符串参数之后,则返回一个正数 
     */ 
    var str="yellow"; 
    console.log(str.localeCompare("brick"));//1 
    console.log(str.localeCompare("yellow"));//0 
    console.log(str.localeCompare("zoo"));//-1 
  </script> 
  </body> 
</html>
登录后复制

fromCharCode方法

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>fromCharCode方法</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
    /* 
    fromCharCode方法是接收一或多个字符编码,然后将其转换为字符串 
    fromCharCode方法是String构造函数的一个静态方法 
     */ 
    console.log(String.fromCharCode(104,101,108,108,111));//hello 
  </script> 
  </body> 
</html>
登录后复制

找到匹配字符串所在的各个位置

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符串匹配</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  /*找到匹配字符串所在的各个位置*/ 
    var str="asadajhjkadaaasdasdasdasd"; 
    var position=[]; 
    var pos=str.indexOf("d"); 
    while(pos>-1){ 
      position.push(pos); 
      pos=str.indexOf("d",pos+1); 
    } 
    console.log(position);//[3, 10, 15, 18, 21, 24] 
  </script> 
  </body> 
</html>
登录后复制

字符串去重

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符串去重</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  //String.split() 执行的操作与 Array.join 执行的操作是相反的 
  //split() 方法用于把一个字符串分割成字符串数组。 
  //join方法用于将字符串数组连接成一个字符串 
  //如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。 
    var str="aahhgggsssjjj";//这里字符串没有可以分隔的字符,所以需要使用空字符串作为分隔符 
    function unique(msg){ 
      var res=[]; 
      var arr=msg.split(""); 
      //console.log(arr); 
      for(var i=0;i<arr.length;i++){ 
        if(res.indexOf(arr[i])==-1){ 
          res.push(arr[i]); 
        } 
      } 
      return res.join(""); 
    } 
    console.log(unique(str));//ahgsj 
  </script> 
  </body> 
</html>
登录后复制

判断字符串中字符出现的次数

<!DOCTYPE html> 
<html lang="en"> 
  <head> 
    <meta charset="utf-8"> 
    <title>字符串操作</title> 
  </head> 
  <body> 
  <script type="text/javascript"> 
  /* 
  1.先实现字符串去重 
  2.然后对去重后的数组用for循环操作,分别与原始数组中各个值进行比较,如果相等则count++,循环结束将count保存在sum数组中,然后将count重置为0 
  3.这样一来去重后的数组中的元素在原数组中出现的次数与sum数组中的元素是一一对应的 
   */ 
    var str="aacccbbeeeddd"; 
    var sum=[]; 
    var res=[]; 
    var count=0; 
    var arr=str.split(""); 
    for(var i=0;i<arr.length;i++){ 
      if(res.indexOf(arr[i])==-1){ 
        res.push(arr[i]); 
      } 
    } 
    for(var i=0;i<res.length;i++){ 
      for(var j=0;j<arr.length;j++){ 
        if(arr[j]==res[i]){ 
          count++; 
        } 
      } 
      sum.push(count); 
      count=0; 
    } 
    console.log(res);//["a", "c", "b", "e", "d"] 
    for(var i=0;i<res.length;i++){ 
      var str=(sum[i]%2==0)?"偶数":"奇数"; 
      console.log(res[i]+"出现了"+sum[i]+"次"); 
      console.log(res[i]+"出现了"+str+"次"); 
    } 
  </script> 
  </body> 
</html>
登录后复制

阿里面试-字符串操作

<script type="text/javascript"> 
  var str = "www.taobao.com"; 
  var res = str.split("").reverse().join("").replace('oat',''); 
  console.log(res);//moc.oab.www 
</script>
登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

JS使用技巧整理

JS调试debug方法总结

以上是js字符串操作大全的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Linux Deploy的操作步骤及注意事项 Linux Deploy的操作步骤及注意事项 Mar 14, 2024 pm 03:03 PM

LinuxDeploy的操作步骤及注意事项LinuxDeploy是一款强大的工具,可以帮助用户在Android设备上快速部署各种Linux发行版,让用户能够在移动设备上体验到完整的Linux系统。本文将详细介绍LinuxDeploy的操作步骤以及注意事项,同时提供具体的代码示例,帮助读者更好地使用这一工具。操作步骤:安装LinuxDeploy:首先在

Golang字符串是否以指定字符结尾的判断方法 Golang字符串是否以指定字符结尾的判断方法 Mar 12, 2024 pm 04:48 PM

标题:Golang中判断字符串是否以指定字符结尾的方法在Go语言中,有时候我们需要判断一个字符串是否以特定的字符结尾,这在处理字符串时十分常见。本文将介绍如何使用Go语言来实现这一功能,同时提供代码示例供大家参考。首先,让我们来看一下Golang中如何判断一个字符串是否以指定字符结尾的方法。Golang中的字符串可以通过索引来获取其中的字符,而字符串的长度可

华为Mate60 Pro截屏操作步骤分享 华为Mate60 Pro截屏操作步骤分享 Mar 23, 2024 am 11:15 AM

随着智能手机的普及,截屏功能成为日常使用手机的必备技能之一。华为Mate60Pro作为华为公司的旗舰手机之一,其截屏功能自然也备受用户关注。今天,我们就来分享华为Mate60Pro手机的截屏操作步骤,让大家能够更加便捷地进行截屏操作。首先,华为Mate60Pro手机提供了多种截屏方式,可以根据个人习惯选择适合自己的方式进行操作。下面详细介绍几种常用的截

如何在Go语言中截取字符串 如何在Go语言中截取字符串 Mar 13, 2024 am 08:33 AM

Go语言是一种强大且灵活的编程语言,它提供了丰富的字符串处理功能,包括字符串截取。在Go语言中,我们可以使用切片(slice)来截取字符串。接下来,将详细介绍如何在Go语言中截取字符串,并附上具体的代码示例。一、使用切片截取字符串在Go语言中,可以使用切片表达式来截取字符串的一部分。切片表达式的语法如下:slice:=str[start:end]其中,s

python怎么重复字符串_python重复字符串教程 python怎么重复字符串_python重复字符串教程 Apr 02, 2024 pm 03:58 PM

1、首先打开pycharm,进入到pycharm主页。2、然后新建python脚本,右键--点击new--点击pythonfile。3、输入一段字符串,代码:s="-"。4、接着需要把字符串里面的符号重复20次,代码:s1=s*20。5、输入打印输出代码,代码:print(s1)。6、最后运行脚本,在最底部会看到我们的返回值:-就重复了20次。

PHP中int类型转字符串的方法详解 PHP中int类型转字符串的方法详解 Mar 26, 2024 am 11:45 AM

PHP中int类型转字符串的方法详解在PHP开发中,经常会遇到将int类型转换为字符串类型的需求。这种转换可以通过多种方式实现,本文将详细介绍几种常用的方法,并附带具体的代码示例来帮助读者更好地理解。一、使用PHP内置函数strval()PHP提供了一个内置函数strval(),可以将不同类型的变量转换为字符串类型。当我们需要将int类型转换为字符串类型时,

Golang中如何检查字符串是否以特定字符开头? Golang中如何检查字符串是否以特定字符开头? Mar 12, 2024 pm 09:42 PM

Golang中如何检查字符串是否以特定字符开头?在使用Golang编程时,经常会遇到需要检查一个字符串是否以特定字符开头的情况。针对这一需求,我们可以使用Golang中的strings包提供的函数来实现。接下来将详细介绍如何使用Golang检查字符串是否以特定字符开头,并附上具体的代码示例。在Golang中,我们可以使用strings包中的HasPrefix

Astar质押原理、收益拆解、空投项目及策略 & 操作保姆级攻略 Astar质押原理、收益拆解、空投项目及策略 & 操作保姆级攻略 Jun 25, 2024 pm 07:09 PM

目录Astar Dapp 质押原理质押收益 拆解潜在空投项目:AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap 质押策略 & 操作“AstarDapp质押”今年初已升级至V3版本,对质押收益规则做了不少调整。目前首个质押周期已结束,第二质押周期的“投票”子周期刚开始。要获取“额外奖励”收益,需把握此关键阶段(预计持续至6月26日,现余不到5天)。我将细致拆解Astar质押收益,

See all articles