9、String字符串

一、字符串的定义

字符串就是一串字符,由双(单)引号括起来。

二、创建字符串

1、字面量 var str = " "(推荐)
1 var str = '城市套路深,我想回农村';
2.构造函数 var str2 = new String(" ")
1 备注:
2     用new产生的变量都是引用类型的变量,也叫对象
3 var str = new String('我不是黄蓉,我不会武功');

三、操作字符串

1、属性 ==> length
 表示字符串的长度,只读(只能读取)
2、通过索引获取值方法
(1)str[idx] ==> es5新增的方法通过索引获取字符
(2)str.charAt(idx)
(3) 长度 str.length

三.字符串的方法

1、indexOf(字符[,startIdx]) ==> 查找索引
lastIndexOf(keyword [,startIndex]) ==> 倒序
备注:
indexOf(字符[,startIdx]) 查找字符在字符串中的索引  
(1) startIdx 可省略,若存在代表从startIdx 开始查找
(2) 返回值为-1,说明字符串中没有该字符。

例:
console.log(str.indexOf("就是财富",3));

2、split(要切割的符) ==> 拆分成数组

备注:
split(切割符)根据分割符,把字符串拆分成数组
1 例:
2     var str = ""bcdefg-bc-bc-fffff";
3     var res = str.split("-");

3、replace(替换字符) 可用过滤敏感字符

备注:
replace(被替换的字符||正则,替换上的字符)原字符串不变,返回被替换后的字符串
(1)字符串的替代只能执行一次,不能够进行全局匹配。
1 例:
2     var str = "你是小学生吗小学生?";
3     var reg = new RegExp("小学生","g");
4     str = str.replace(reg,"**");
5     console.log(str);

(2)如果需要全局匹配,则需要使用正则表达式
(2.1)、正则的创建
* 字面量   reg=/字符/gi
        * 构造函数 var reg = new RegExp(“字符”,“gi”)
        * 构造函数 var reg = new RegExp(变量,“gi”)
(3)正则表达式的参数
            *g 全局匹配
            *i 不区分大小写

4、裁切方法

方法一:slice(start[,end]) 返回裁切后的字符串
(1)不包括end所在字符
(2)end省略,代表截取到最后一个
(3)支持负数
方法二:substring(startIdx[,endIdx]) 返回裁切后的字符串(了解一下)
(1)不支持负数(其他用法与slice一样)
方法三: substr(start[,len]) 返回裁切后的字符串
(1)len省略,代表截取到最后一个,
(2)len为截取的数量
(3)startIdx支持负数
方法四: trim() 裁切掉字符串的前后空格
备注: es5新增的方法
if(txt.value.trim() !=""){} 多用于账号密码。

1 例: 
2     var str = "你真可爱哈哈哈呵呵呵么么哒";
3     var res = str.substr(7,3);
4     console.log(res);
 
 1 案例:获取url参数
 2 var url = 'https://www.baidu.com/s?name=laoxie&age=18&sex=male&';
 3 //1. 查找?号所在的索引值
 4 var idx = url.indexOf('?');
 5 //2.截取到参数字符串
 6 var params = url.slice(idx+1,-1);//name=laoxie&age=18&sex=male
 7 //3.生成参数数组
 8 params = params.split('&');//['name=laoxie','age=18','sex=male']
 9 // 4.遍历数组,获取所有属性/属性值,并组成一个对象
10 var obj = {};//{key:value}
11 params.forEach(function(kv){
12     var arr = kv.split('=');
13     obj[arr[0]] = arr[1];
14 });

5、字符串大小写转换

(1)toLowerCase():转换成小写
(2)toUpperCase():转换成大写
1  例:
2     var str = "XiXiXi";
3     var res = str.toLowerCase();
4     console.log(res,str);
6、字符与字符编码的转换

(1)字符串.charCodeAt(idx) 字符串中某个索引对应的字符,转成字符编码
(2) String.fromCharCode(97) 字符编码编码转换成字符

原文地址:https://www.cnblogs.com/wulongke/p/10493130.html