目录
indexOf('字符串',start) : 查找子串在父串中第一次出现的下标位置,如果没有,则返回-1
lastIndexOf('字符串',start) : 查找子串在父串中从右向左查找第一次出现的下标位置,如果没有找到,返回 -1
charCodeAt(index) : 根据下标查找字符编码。
substring(start,end) : 从哪截取到哪,支持参数互换、不支持负数
slice(start,end) :从哪截取到哪,不支持参数互换、支持负数
split('切割符',length) : 将字符串切割为数组
String.fromCharCode(编码) : 根据编码返回字符
去除字符串中左边的空格与右边的空格 “ a b “ “a b” (不能使用trim方法)
replace(searchValue, replaceValue)
- function fnNoRepeatOfArray(arr){
- var list = [];
- arr.forEach(function(value){
- if(list.indexOf(value) === -1){
- list.push(value);
- }
- })
- return list;
- }
- function fn(arr){
- for(var i = 0,len = arr.length;i < len;i ++){
- for(var j = i + 1;j < len;j ++){
- if(arr[i] === arr[j]){
- arr.splice(j,1);
- }
- }
- }
- return arr;
- }
- function fn(arr){
- var list = [];
- arr.sort(function(a,b){return a - b;});
- arr.forEach(function(value,index){
- if(value !== arr[index + 1]){
- list.push(value);
- }
- })
- return list;
- }
- <script>
- //创建字符串
- var str = 'hello';
- var o_str = new String('world');
- console.log(typeof str,typeof o_str); //'string' 'object'
- </script>
查
- var str = 'how do you do';
- console.log(str.indexOf('do')); //4
- console.log(str.indexOf('de')); //-1
- console.log(str.indexOf('do',5)); //11
- console.log(str.indexOf('do',4)); //4
- var str = 'how do you do';
- console.log(str.indexOf('do')); //4
- console.log(str.indexOf('de')); //-1
- console.log(str.indexOf('do',5)); //11
- console.log(str.indexOf('do',4)); //4
-
- console.log(str.lastIndexOf('do')); //11
- console.log(str.lastIndexOf('de')); //-1
- console.log(str.lastIndexOf('do',5)); //4
- console.log(str.lastIndexOf('do',4)); //4
替
- //声明字符串
- var str = 'how do you do';
- console.log(str.replace('do','de')); //'how de you do'
-
- // for(var i = 0;i < str.length;i ++){
- // str = str.replace('do','de');
- // }
-
- while(str.indexOf('do') !== -1){
- str = str.replace('do','de');
- }
- console.log(str);
截
- var str = 'how do you do';
- console.log(str.substring(4)); //do you do
- console.log(str.substr(4)); //do you do
- console.log(str.slice(4));//do you do
-
- console.log(str.substring(4,6)); //do
- console.log(str.substr(4,6)); //do you
- console.log(str.slice(4,6));//do
-
- console.log(str.substring(6,4)); //do
- console.log(str.slice(6,4));//''
-
-
- console.log(str.substring(-6,-4)); //''
- console.log(str.slice(-6,-4));//'yo'
转
- <script>
- var str = 'How Are You';
- //小写转为大写
- console.log(str.toUpperCase()); //'HOW ARE YOU';
- //大写转为小写
- console.log(str.toLowerCase()); //'how are you'
- //字符串转为数组
- var arr = str.split(' ',5); //['How','Are','You']
- console.log(arr);
- console.log(str.split('o')); //['H','w Are Y','u']
- console.log(str.split('')); //['H','o','w',' ','A','r','e',' ','Y','o','u']
- console.log(str.split(' ',2)); //['How',"Are"];
- console.log(str.split('oo')); //['How Are You'];
- </script>
- var str = 'How Are You';
- console.log(str.toUpperCase()); //HOW ARE YOU
- console.log(str.toLowerCase()); //how are you
- var arr = str.split(' ',2); //['How', 'Are']
- console.log(arr);
拼
- var str = 'hello';
- console.log(str.concat(' world')); // hello world
去空白
- var str = ' a b ';
- console.log('(' + str.trim() + ')'); //(a b)
- var str = ' a b ';
- console.log('(' + str.trimStart() + ')'); //(a b )
- var str = ' a b ';
- console.log('(' + str.trimEnd() + ')'); //( a b )
- <script>
- var str = ' a b ';
- //去除所有空白
- console.log('(' + str.replaceAll(' ','') + ')');
- //去除左右两端的空白
- console.log('(' + str.trim() + ')');
- //去除左端空白
- console.log('(' + str.trimStart() + ')');
- //去除右端空白
- console.log('(' + str.trimEnd() + ')');
- </script>
- <script>
- //去除字符串中所有的空格。
- function fnRemoveAllSpace(str){
- while(str.indexOf(' ') !== -1){
- str = str.replace(' ','');
- }
- return str;
- }
- console.log('(' + fnRemoveAllSpace(' a b ') + ')');
- </script>
- <script>
- //去除字符串中左边的空格与右边的空格 “ a b “ “a b” (不能使用trim方法)
- function fnTrim(str){
- //1. 去除左边的空白
- while(str.charAt(0) === ' '){
- str = str.replace(' ','');
- }
- //2. 去除右边的空白
- var arr = str.split('');
- // 找到数组中最后一个元素判断是否为空格
- while(arr[arr.length - 1] === ' '){
- arr.pop(); //删除数组中后面的元素
- }
- return arr.join('');
- }
- console.log('(' + fnTrim(' a b ') + ')');
- </script>
- <script>
- //统计出一个字符串中所有大写字母的数量与所有小写字母的数量
- // ch >= 'A' && ch <= 'Z'
- // ch >= 'a' && ch <= 'z'
- function countNum(str){
- //1. 准备两个变量,用于放置结果
- var uppercase = 0;
- var lowercase = 0;
- //2. 遍历字符串
- for(var i = 0,len = str.length;i < len;i ++){
- //记录每一个字符
- var ch = str.charAt(i);
- //判断
- if(ch >= 'A' && ch <= 'Z'){
- uppercase ++;
- }else if(ch >= 'a' && ch <= 'z'){
- lowercase ++;
- }
- }
- console.log('大写字母有:' + uppercase + '个\n小写字母有:' + lowercase + '个');
- }
- countNum('How Are You');
- </script>
- <script>
- //一次性输入多个成绩
- //一、 获取页面元素
- var o_txt = document.getElementById('txt');
- var o_btn = document.getElementById('btn');
- //二、实现功能
- function fn(){
- //1. 采集用户信息
- // '1,2,3,4,5'
- var info = o_txt.value;
- //2. 转为数组
- var arr = info.split(','); //['1','2','3','4','5']
- //3. 求和
- var sum = arr.reduce(function(prev,next){
- return Number(prev) + Number(next);
- })
- //4. 将总成绩放到文本框中
- o_txt.value = sum;
- }
- //三、添加事件
- o_btn.onclick = fn;
- </script>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- </head>
- <body>
- <h1>影响职业因素</h1>
- <p>请输入一个单词: <input type="text" name="" id="txt"></p>
- <p>结果: <span id="result"></span></p>
- <p>
- <input type="button" value="计算" id="submit">
- <input type="button" value="清空" id="reset">
- </p>
- <script>
- //影响职业因素,将单词中的每一个字母在字母表中的位置相加。如: abc 1 + 2 + 3 = 6
-
- //一、获取页面元素
- //1.1 获取单词的文本框
- var o_txt = document.getElementById('txt');
- //1.2 获取结果的容器
- var o_result = document.getElementById('result');
- //1.3 获取计算按钮
- var o_submit = document.getElementById('submit');
- //1.4 获取清空按钮
- var o_reset = document.getElementById('reset');
- //二、实现功能
- //2.1 求职业因素的功能
- function fnJob(){
- //0. 准备变量,存储结果
- var sum = 0;
- var str = '';
- //1. 采集用户信息
- var info = o_txt.value; //'money'
- //2. 字母表
- var letter = ' abcdefghijklmnopqrstuvwxyz';
- //3. 遍历用户单词
- for(var i = 0,infoLen = info.length;i < infoLen;i ++){
- //遍历字母表
- for(j = 0,letterLen = letter.length;j < letterLen;j ++){
- //进行比较
- if(info.charAt(i) === letter.charAt(j)){
- //求和
- sum += j;
- //求表达式
- str += j + '+'; //1 + 2 + 3 +
- }
- }
- }
- //将结果放到页面中
- // '1+2+3+' '1+2+3=6'
- o_result.innerText = str.slice(0,-1) + '=' + sum;
- }
- //2.2 清空所有的框
- function fnclear(){
- o_txt.value = o_result.innerText = '';
- }
- //三、添加事件
- o_submit.onclick = fnJob;
- o_reset.onclick = fnclear;
- </script>
- </body>
- </html>
- <script>
- //一、获取页面元素
- //1.1 文本框
- var o_txt = document.getElementById('txt');
- //1.2 加密按钮
- var o_secure = document.getElementById('secure');
- //1.3 解密按钮
- var o_unse = document.getElementById('unsecure');
- //1.4 盒子
- var o_box = document.getElementById('box');
- //二、封装功能
- //2.1 加密
- function fnSecure(){
- //0. 准备一个放置结果的字符串
- var str = '';
- //1. 采集加密的信息
- var info = o_txt.value;
- //2. 找到字符串中每一个字符(遍历),获取字符的编码值(charCodeAt) 进行 加一个数 或 减一个数 ,最后将改变后的编码值再转为字符
- for(var i = 0,len = info.length;i < len;i ++){
- str += String.fromCharCode(info.charCodeAt(i) + 88)
- }
- //3. 将加密后的内容放到页面中盒子中
- o_box.innerText = str;
- //4. 清空文本框中的内容
- o_txt.value = '';
- }
- //2.2 解密
- function fnUnSe(){
- //0. 准备一个解密的的字符串
- var str = '';
- //1. 采集已加密后的信息
- var info = o_box.innerText;
- //2. 遍历出每一个加密后的字符,进行还原
- for(var i = 0,len = info.length;i < len;i ++){
- str += String.fromCharCode(info.charCodeAt(i) - 88);
- }
- //3. 将解密后的内容放到文本框中
- o_txt.value = str;
- //4. 清空盒子中的内容
- o_box.innerText = '';
- }
- //三、添加事件
- //3.1 加密按钮添加点击事件
- o_secure.onclick = fnSecure;
- //3.2 解密按钮添加点击事件
- o_unse.onclick = fnUnSe;
- </script>
JavaScript中有许多常用的字符串方法,它们可以帮助你对字符串进行各种操作。以下是一些常见的字符串方法及其简要说明:
这些方法只是 JavaScript 中可用的众多字符串方法中的一部分。通过灵活运用这些方法,你可以在处理字符串时更加高效和便捷。