字符串就是一串字符,由双(单)引号括起来。
二、创建字符串
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) 字符编码编码转换成字符