字符串
字符串的两种创建方式(常量和构造函数)
- var str=“你好”
- var str = new String(“hello”)
-
ASCII码和字符集
https://blog.csdn.net/Deft_MKJing/article/details/79460485
- ASCII(American Standard Code for Information Interchange:美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的系统,并等同于国际标准ISO/IEC 646
- Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。
- utf-8 可变大小字符集
字符串的比较 比较unicode编码大小 (首字符)
字符串常用api
怎么理解:只读的数组 数组中所有的api只要是只读,字符串都可以使用
length 返回字符串长度
也可以通过下标获取某个字符 str[下标]
concat() 一般字符串不会用 +就是连接
slice()
charAt(下标) 获取对应下标字符 str[下标]
charCodeAt(下标) 获取字符串的unicode编码
String.fromCharCode() 可以接受一个unicode编码 返回这个字符串
大小写转换:
转大写:
str.toUpperCase()
转小写
str.toLowerCase()
indexOf(“字符”[,位置]) 用法跟数组indexOf一样
lastIndexOf() 用法同数组lastIndexOf()
截取子字符串
substring(starti[,endi+1])
substr(starti[,n])
n:截取几个
字符串切割为数组
var arr = str.split(seperator);
分隔符:以什么进行分割
注意:
1. 如果参数不传,默认是将整个字符放到数组中,数组只要一个元素,字符串
2. 参数是 ""空字符串 将字符串的每一个字符都切割作为数字的一个元素
字符串新增相关api
1,字符串查找search()
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var str = '那天我去了她家,我说我草,你家草真大';
var reg = /草/g;
var res = str.search(reg);
console.log(res); //11 g没有用
</script>
</body>
</html>
总结:
对比indexOf()
优点:支持正则 indexOf不支持正则
缺点:不能全局查找,找到第一个返回条件的字符就返回所在下标,找不到返回-1
2,字符串替换replace()
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var str = '今天天气还可以,我的心情挺好,我想飞';
var reg = /我/g;
var newStr = str.replace(reg,"*");
console.log(newStr);
//今天天气还可以,*的心情挺好,*想飞
</script>
</body>
</html>
注意:支持全局查找,支持忽略大小写
删除开头结尾的空格
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="text" id="txt"/>
<button>获取值</button>
<script>
var txt = document.getElementById("txt");
var btn = document.querySelector('button');
btn.onclick = function(){
var value = txt.value.replace(/^\s*|\s*$/g,"");
console.log(value);
}
</script>
</body>
</html>
2,字符串查找match()
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
var str = '你要adw飞的更高,摔的dwdw更狠';
// var reg = /\w/g;
// var res = str.match(reg);
// console.log(res);
var reg = /我/;
var res = str.match(reg);
console.log(res);//null
</script>
</body>
</html>
总结:
支持全局 支持忽略大小写
如果有复合条件字符,返回一个数组,所有的符合条件的结果
如果没有符合条件的字符,返回null
缺点:得不到结果的下标