【Javascript】之字符串对象

String

概念

string: 字符串 被成对的单双引号包裹的就是字符串

创建

  1. 字面量创建: var 变量 = ‘字符’;
  2. 强制转换: var 变量 = String(数据);
  3. 构造函数/实例创建: var 变量 = new String(数据);

区别: 1.2创建的是字符串类型 3创建的是对象类型

var str = '123456a';
console.log(str);
console.log(typeof str); // string


var str1 = String(true);
console.log(str1);
console.log(typeof str1); // string

var str2 = new String(false);
console.log(str2); // {"false"}
console.log(typeof str2); // object

长度

length: 字符串.length 长度

下标: 从左往右从0开始的数字

var str3 = '最近,生活在四川甘孜州理塘县的藏族小伙丁真,因为一条不到10秒的视频意外走红网络,不仅被当地聘为旅游大使,更引发了各地文旅机构助推热潮。通过丁真这个窗口让更多人了解到四川乃至全国的景点,网友纷纷表示“这才是网红最好的打开方式”。今晚,我们就从这个藏族小伙聊起。互联网为每个人提供了展现自我的舞台,因为一句话、一个表情、一个动作而走红的不在少数,但像丁真这样引发如此大规模的网络热潮,甚至收获了外交部发言人打call的,却也罕见。有人说丁真的走红,源自于其超高的颜值和帅气的外表,也有人说丁真身上的淳朴和纯真格外打动人。事实上,这些只是让他具备了网红的潜质。真正让他成为“顶级流量”的,是他对家乡、对生活的热爱,让人们感受到逆境中成长的自强不息力量,是镜头中的雪山、白云、藏族服饰等元素,展现了一个丰富多彩而又立体的中国,唤醒了人们对诗和远方的向往,是在他走红之后依然保持的纯真本色,让人们看到一颗赤子之心。';
console.log(str3.length); 

指定下标的字符

charAt: 字符串.charAt(下标)

[]: 字符串[下标]

console.log(str3.charAt(51));
console.log(str3[51]);

指定下标的字符的ASCII值

charCodeAt: 字符串.charCodeAt(下标);

​ 0----48 9—57

​ A----65 Z—90

​ a----97 z—122

console.log(str3.charCodeAt(51));

字符串比较

字符串的比较: 从左往右,依次比较每一个字符的ASCII值, 如果比较出来大小, 就结束

console.log('100000000000' < '2'); // true
console.log('100' < '1'); // false  48 < 0

查找

indexOf

  1. 语法: indexOf: 字符串.indexOf(‘匹配的字符’, 起始下标);

    起始下标可传可不传

  2. 查找规则:

    查找字符在字符串中出现的第一次的位置,从左往右依次匹配,找到就返回下标,找不到返回-1

    起始下标表示要从这个下标的位置开始从左往右依次查找

    var str = 'abcdefabcdef';
    console.log(str.indexOf('a')); // 0
    console.log(str.indexOf('g')); // -1
    
    console.log(str.indexOf('a', 3)); // 6
    

lastIndexOf

  1. 语法规则: lastIndexOf: 字符串.lastIndexOf(‘匹配的字符’, 起始下标);

    ​ 起始下标可传可不传

  2. 查找规则

    查找字符在字符串中出现的第一次的位置,从右往左依次匹配, 找到就返回下标,找不到返回-1

    ​ 起始下标表示要从这个下标的位置开始从右往左依次查找

console.log(str.lastIndexOf('a')); // 6
console.log(str.lastIndexOf('a', 4)); // 0

截取

substring

substring: 字符串.substring(起始下标, 结束下标);

​ 不传参: 截取返回整个字符串

​ 传一个参数: 从起始下标开始截取到字符串的结束为止 包含起始下标的字符

​ 传两个参数:

​ 起始下标<结束下标: 从起始下标开始截取到结束下标为止, 包含起始下标的字符 不包含结束下标的字符

​ 起始下标>结束下标: 互换位置 然后截取

​ 如果其中一个是负数: 负数变成0, 参考上述规则

var str = 'ABCDEFGHIJK';
console.log(str.substring());
console.log(str.substring(3)); // DEFGHIJK
console.log(str.substring(3, 6)); // DEF 
console.log(str.substring(6, 3)); // DEF 
console.log(str.substring(3, -4)); // 0-3  ABC

slice

slice: 字符串.slice(起始下标, 结束下标);

​ 不传参: 截取返回整个字符串

​ 传一个参数: 从起始下标开始截取到字符串的结束为止 包含起始下标的字符

​ 传两个参数:

​ 起始下标<结束下标: 从起始下标开始截取到结束下标为止, 包含起始下标的字符 不包含结束下标的字符

​ 起始下标>结束下标: 返回空字符串

​ 如果其中一个是负数(结束): 表示字符从右向左有几个不要

console.log(str.slice());
console.log(str.slice(3)); // DEFGHIJK
console.log(str.slice(3, 6)); // DEF
console.log(str.slice(6, 3)); // 空
console.log(str.slice(3, -3)); // DEFGH

substr

substr: 字符串.substr(起始下标, 截取的长度)

​ 不传参: 截取返回整个字符串

​ 传一个参数: 从起始下标开始截取到字符串的结束为止 包含起始下标的字符

​ 传两个参数: 从起始下标开始截取几位

console.log(str.substr());
console.log(str.substr(3)); // DEFGHIJK
console.log(str.substr(3, 6)); // 从下标3开始截取6个字符   DEFGHI

大小写转换

​ 大写: 字符串.toUpperCase();

​ 小写: 字符串.toLowerCase();

​ 应用: 不区分大小写验证码

var str = 'ASDFGHJasdfghj';
console.log(str);
console.log(str.toUpperCase());
console.log(str.toLowerCase());

替换

replace: 将内容替换成新字符

​ str.replace(‘要替换的内容’/正则, ‘新字符’/函数);

​ 一次只能替换一个字符

var str = 'abcabc';
console.log(str.replace('a', '***')); // ***bcabc

分割

​ 将字符串按照分割符进行分割

​ 字符串.split(‘分割符’);

​ 分割符可以是一切字符

​ 将字符串分割成数组返回

数组拼接方法:

​ join: 数组.join(‘连接符’);

​ 连接符默认是,

​ 连接符可以是一切字符 包括标签

​ 将数组组成字符串之后再返回

var str = '12341234';
console.log(str.split('1'));
console.log(str.split('1').join('****'));
console.log(str.split('1').join('<br>'));

var s = str.split('1').join('<b>123</b>');
document.body.innerHTML = s;

trim

trim: 去除字符串左右空格

​ 字符串.trim();

var str = '     123  121       ';
console.log(str);
console.log(str.trim());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值