• 字符串对象(js)


    1、创建

    // 1、字面量创建(推荐)(成对的单双引号引着的就是字符串)
    var str1 = '花自飘零水自流';
    console.log(str1);
    console.log(typeof str1); // string
    
    // 2、函数创建
    var str2 = String('一种相思,两处闲愁');
    console.log(str2);
    console.log(typeof str2); // string
    
    
    // 3、构造函数创建
    var str3 = new String('我不一样');
    console.log(str3);
    console.log(typeof str3); // object

    2、charAt

    • 格式:字符串.charCodeAt(下标);

    • 作用:返回对应下标字符的Unicode编码,值是 0 - 65535 之间的整数

    var str = 'hello';
    console.log(str.charAt(1)); // e
    console.log(str[1]); // e  IE7及以下不支持

    3、charCodeAt

    • 格式:字符串.charCodeAt(下标);

    • 作用:返回对应下标字符的Unicode编码,值是 0 - 65535 之间的整数

    var str = '0123456789';
    console.log(str.charCodeAt(0)); // 0--48
    console.log(str.charCodeAt(str.length - 1)); // 9--57
    var str2 = 'abcd...z';
    console.log(str2.charCodeAt(0)); // a--97
    console.log(str2.charCodeAt(str2.length - 1)); // z--122
    var str3 = 'ABCD...Z';
    console.log(str3.charCodeAt(0)); // A--65
    console.log(str3.charCodeAt(str3.length - 1)); // Z--90
    // ------------------------------------
    console.log(('小').charCodeAt(0)); // 23567
    console.log(('姐').charCodeAt(0)); // 22992
    console.log(('姐').charCodeAt(0)); // 22992
    ​
    console.log(String.fromCharCode(23567, 22992, 22992)); // 小姐姐
     

    4、indexOf和lastIndexOf

    主要作用:检查这个字符,在这个字符串中是否存在

    • 格式:字符串.indexOf(要查找的字符, [起始位置]);

    • 作用:查找字符在这个字符串中首次出现的位置,如果找不到,返回-1

    • 格式:字符串.lastIndexOf(要查找的字符, [起始位置]);

    • 从右向左查找

    var str = 'abcdaaefg';
    ​
    console.log(str.indexOf('a')); // 0
    console.log(str.indexOf('cd')); // 2
    console.log(str.indexOf('a', 1)); // 4
    console.log(str.indexOf('a', 6)); // -1
    // ---------------------------
    console.log(str.lastIndexOf('a')); // 5
    console.log(str.lastIndexOf('a', 3)); // 0
     

    案例:字符串去重

    var str = 'abcabc'; // 封装一个方法,用于去掉重复的字符,返回abc
    console.log(fn(str)); // abc
    ​
    ​
    function fn(str) {
        var newStr = ''; // 仓库,存储去重以后的字符串
    for (var i = 0; i < str.length; i++) {
            // str[i]即每一个字符
            if (newStr.indexOf(str[i]) === -1) {
                // 如果返回-1,则证明仓库里面没有,没有则添加进来
                newStr += str[i];
            }
        }
        return newStr;
    }
     

    5、字符串截取

    var str = 'abcdefg';
    • slice

    // 字符串.slice(起始下标, 结束下标);  标准方法
    console.log(str.slice()); // abcdefg   没有参数,返回全部
    console.log(str.slice(2)); // cdefg   有一个参数,从第一个参数处起,一直到最后
    console.log(str.slice(2, 6)); // cdef   有两个参数,从第一个参数处起,到第二个参数处止,不包括第二个参数
    console.log(str.slice(6, 2)); // ''   第二个参数比第一个小(非负数),返回空字符串
    console.log(str.slice(2, -2)); // cde   负数同长度相加
     
    • substring

    // 字符串.substring(起始下标, 结束下标);
    console.log(str.substring()); // abcdefg  没有参数,返回全部
    console.log(str.substring(2)); // cdefg  有一个参数,从第一个参数处起,一直到最后
    console.log(str.substring(2, 6)); // cdef  有两个参数,从第一个参数处起,到第二个参数处止,不包括第二个参数
    console.log(str.substring(6, 2)); // cdef  第二个参数比第一个小(非负数),则两参数交换位置
    console.log(str.substring(2, -2)); // ab  负数当作0
     
    • substr

    // 字符串.substr(起始下标, 截取的个数);
    console.log(str.substr()); // abcdefg   没有参数,返回全部
    console.log(str.substr(2)); // cdefg   有一个参数,从第一个参数处起,一直到最后
    console.log(str.substr(2, 2)); // cd   
    console.log(str.substr(2, -2)); // ''   负数不截取
    案例:结合moment.js,通过身份证号获取某个人的年龄

    6、转大小写

    • 字符串.toUpperCase() 转大写

    • 字符串.toLowerCase() 转小写

    只能针对英文

    var str = 'abcde';
    ​
    var s = str.toUpperCase(); // 转大写
    console.log(s); // ABCDE
    ​
    console.log(s.toLowerCase()); // abcde  转小写
     

    7、拆分和拼接

    • split

      • 格式:字符串.split(参数)

      • 作用:将字符串以参数拆分成数组

    var str = '2020-10-10';
    var arr = str.split('-');
    console.log(arr); // [ "2020", "10", "10" ]
    ​
    console.log(str.split()); // [ "2020-10-10" ]
    console.log(str.split('')); // [ "2", "0", "2", "0", "-", "1", "0", "-", "1", "0" ]
    console.log(str.split('0')); // [ "2", "2", "-1", "-1", "" ]
     
    • join

      • 格式:数组.join(参数)

      • 作用:将数组用参数拼接成字符串

    var arr = ["2020", "10", "10"];
    console.log(arr.join('-')); // 2020-10-10
    console.log(arr.join()); // 2020,10,10
    console.log(arr.join('')); // 20201010
     

    8、replace

    • 字符串.replace(被替换的字符, 新字符);

    var str = '王小二说:老王是隔壁的';
    var s = str.replace('王', '李');
    console.log(s); // 李小二说:老王是隔壁的
     

    9、trim

    • 字符串.trim() 去除字符串左右空格(IE8及以下不支持)(正则)

    var str = '   小王说    ';
    console.log(str);
    console.log(str.trim());

     

  • 相关阅读:
    thinkphp 事物回滚
    文字超出部分以省略号隐藏
    js倒计时
    js 日期转为时间戳
    jquery 获取url地址参数
    spreadjs 自定义菜单事件
    spreadjs 点击事件
    spreadjs 自定义上传文件单元格
    spreadjs 小记
    Json数组排序
  • 原文地址:https://www.cnblogs.com/cyf666cool/p/13654746.html
Copyright © 2020-2023  润新知