2025年3月17日 星期一 甲辰(龙)年 月十六 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > JavaScript

巧妙驾驭JavaScript字符串:常用方法大揭秘

时间:02-23来源:作者:点击数:8

目录

数组去重案例

字符串常用方法

如何声明

属性

方法 (查、替、截、转)

indexOf('字符串',start) : 查找子串在父串中第一次出现的下标位置,如果没有,则返回-1

lastIndexOf('字符串',start) : 查找子串在父串中从右向左查找第一次出现的下标位置,如果没有找到,返回 -1

charAt(index) : 根据下标查找字符。

charCodeAt(index) : 根据下标查找字符编码。

replace(旧串,新串) : 替换字符串

substring(start,end) : 从哪截取到哪,支持参数互换、不支持负数

substr(start,length) :从哪截取多少个

slice(start,end) :从哪截取到哪,不支持参数互换、支持负数

toUpperCase() : 将小写转为大写字母

toLowerCase() : 将大写转为小写字母

split('切割符',length) : 将字符串切割为数组

concat() : 合并字符串

去空白

trim() : 删除字符串两端空白

trimStart() : 删除字符串左端空白

trimEnd() : 删除字符串右端空白

静态方法

String.fromCharCode(编码) : 根据编码返回字符

字符串操作相关案例

去除字符串中所有的空格。

去除字符串中左边的空格与右边的空格 “ a b “ “a b” (不能使用trim方法)

统计出一个字符串中所有大写字母的数量与所有小写字母的数量

一次性输入多个成绩

影响职业因素

字符串的加密解密

小结

length

charAt(index)

charCodeAt(index)

concat(str1, str2, ...)

indexOf(substring, start)

lastIndexOf(substring, start)

slice(start, end)

substring(start, end)

substr(start, length)

toUpperCase()

toLowerCase()

trim()

split(separator)

replace(searchValue, replaceValue)

match(regexp)

数组去重案例

  • 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;
  • }

字符串常用方法

如何声明
  1. 字面量方式: '' ""
  2. 构造函数方式: new String()
  • <script>
  • //创建字符串
  • var str = 'hello';
  • var o_str = new String('world');
  • console.log(typeof str,typeof o_str); //'string' 'object'
  • </script>
属性
  1. length : 长度

方法 (查、替、截、转)

  1. indexOf('字符串',start) : 查找子串在父串中第一次出现的下标位置,如果没有,则返回-1
  • 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
  1. lastIndexOf('字符串',start) : 查找子串在父串中从右向左查找第一次出现的下标位置,如果没有找到,返回 -1
  • 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
  1. charAt(index) : 根据下标查找字符。
  2. charCodeAt(index) : 根据下标查找字符编码。

  1. replace(旧串,新串) : 替换字符串
  • //声明字符串
  • 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);

  1. substring(start,end) : 从哪截取到哪,支持参数互换、不支持负数
  2. substr(start,length) :从哪截取多少个
  3. slice(start,end) :从哪截取到哪,不支持参数互换、支持负数
  • 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'

  1. toUpperCase() : 将小写转为大写字母
  2. toLowerCase() : 将大写转为小写字母
  3. split('切割符',length) : 将字符串切割为数组
  • <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);

  1. concat() : 合并字符串
  • var str = 'hello';
  • console.log(str.concat(' world')); // hello world

去空白

  1. trim() : 删除字符串两端空白
  • var str = '     a     b   ';
  • console.log('(' + str.trim() + ')');  //(a     b)
  1. trimStart() : 删除字符串左端空白
  • var str = '   a   b   ';
  • console.log('(' + str.trimStart() + ')');  //(a   b   )
  1. trimEnd() : 删除字符串右端空白
  • 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>

静态方法

  1. String.fromCharCode(编码) : 根据编码返回字符

字符串操作相关案例

  1. 去除字符串中所有的空格。
  • <script>
  • //去除字符串中所有的空格。
  • function fnRemoveAllSpace(str){
  • while(str.indexOf(' ') !== -1){
  • str = str.replace(' ','');
  • }
  • return str;
  • }
  • console.log('(' + fnRemoveAllSpace(' a b ') + ')');
  • </script>
  1. 去除字符串中左边的空格与右边的空格 “ a b “ “a b” (不能使用trim方法)
  • <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>
  1. 统计出一个字符串中所有大写字母的数量与所有小写字母的数量
  • <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>
  1. 一次性输入多个成绩
  • <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>
  1. 影响职业因素
  • <!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中有许多常用的字符串方法,它们可以帮助你对字符串进行各种操作。以下是一些常见的字符串方法及其简要说明:

  1. length
    • 用于获取字符串的长度。
  2. charAt(index)
    • 返回指定索引位置的字符。
  3. charCodeAt(index)
    • 返回指定索引位置的字符的 Unicode 值。
  4. concat(str1, str2, ...)
    • 用于连接两个或多个字符串。
  5. indexOf(substring, start)
    • 返回指定子字符串第一次出现的位置,可指定搜索的起始位置。
  6. lastIndexOf(substring, start)
    • 返回指定子字符串最后一次出现的位置,可指定搜索的起始位置。
  7. slice(start, end)
    • 提取字符串的一部分,并返回一个新的字符串,可以指定开始和结束的位置。
  8. substring(start, end)
    • 类似于slice,不同之处在于当start大于end时会交换参数位置。
  9. substr(start, length)
    • 从起始索引位置提取指定长度的字符串。
  10. toUpperCase()
    • 将字符串转换为大写。
  11. toLowerCase()
    • 将字符串转换为小写。
  12. trim()
    • 去除字符串两端的空白字符。
  13. split(separator)
    • 将字符串分割成子字符串数组,可指定分隔符。
  14. replace(searchValue, replaceValue)
    • 替换字符串中的指定值。
  15. match(regexp)
    • 检索字符串中指定值,返回匹配的字符串数组。

这些方法只是 JavaScript 中可用的众多字符串方法中的一部分。通过灵活运用这些方法,你可以在处理字符串时更加高效和便捷。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐