五字符串
1.字符串的创建
-
字面量
var str = ""; var str = String(); -
构造函数
var str = new String();
2.字符串长度
str.length
3.字符串API
1.str.charAt(index)
根据下标获取字符串的某一个字符
2.indexOf("")
查询字符再字符串中第一次出现的下标(如果没找到返回-1) 如果是两个参数。第二个参数代表从第几个查找。
3.lastIndexOf("")
查找字符再字符串中最后一次出现的位置
4.substring(start,end)
不会操作原数组,截取到一个新数组中.不包括end
5.slice(start,end)
能截取负数
str.slice(-4,-1) 从倒数第4个到倒数第一个,不包括最后一个
改变原字符串(str.slice(1) 截取字符串第一个)
6.substr(start,length)
substr(3,3) 第三个截取3个数值
两个参数时,第一个是开始的下标,第二个是截取的长度
参数为一个时,为删除几个字符
7.split(分隔符) 将字符串转成数组
8.replace(old,newstr) 替换字符
每次只能替换一个
9.String.fromCharCode(ascii码)
将对应的ascii码转成对应的字符
10字符串.charCodeAt()
获取字符串中某个索引位置unicode编码值
11.String.fromCharCode(多个值,隔开)
可接受一个指定的 Unicode 值,然后返回一个字符串。
正则表达式:
12.str.search(接收正则表达式) 返回值为下标 如果找不到返回-1
13.reg.exec(str)
返回值为一个数组:
数组第一项[0]:正则所匹配到的所有信息
数组第二项[1]:正则第一个()所取到的信息
数组第三项[2]:正则第二 个()所取到的信息
14.str.match(reg)同上
4.ES6新增API
ES6字符串模板
''
拼接变量 ${变量}
字符串API
1.includes 字符串搜索
返回值为:true false
var str = 'nihao';
console.log(str.includes('n'));
2.startsWith endWith 判断开头或结尾
返回值为 true 或 false
3.repeat 复制字符串
str.repeat(10)
5.字符串去重
//1.charAt应用
var str ="nihao";
console.log(str.charAt(0));
//2.判断一个字符串的首字母是不是大写
var firstLetter = str.charAt(0);
if(firstLetter >="A" && firstLetter <= "Z"){
console.log("大写")
}else{
console.log(false);
}
//3.将一个字符串中大小写的个数算出来
var
str ="aaaaJJJKKK",
uppercase = 0,
lowercase = 0;
//利用循环对字符串进行遍历
for(var i = 0; i < str.length; i++){
//如果字符在a-z之间,则需要小写加1
if(str.charAt(i) >='a' && str.charAt(i) <= 'z'){
lowercase++;
}else{
uppercase++;
}
}
console.log('大写' + uppercase + ';小写' + lowercase);
// - 练习:
// 4. 判断密码中是否含有特殊字符 #¥%&*
//定义两个字符串
var special = "#$%^&*";
var pwd = "jjjkkk#";
//对字符串进行循环,将特殊字符和需要对比的字符进行比较
for (var i = 0; i < special.length; i++) {
//利用indexOf方法,如果pwd字符串中可以找到特殊字符(即!=-1(等于-1)意味着pwd中没有special中符元 素)
if (pwd.indexOf(special[i]) != -1) {
console.log("有特殊字符");
break;
}
}
//5. 字符串去重
//原理:定义一个空字符串,利用indexOf方法和现有字符进行比较,如果不相同(即为-1),则把现有的字符串push到临 时字符串中,最后打印临时字符串
var str = "aacbdfddkh";
var tempStr = "";
for (var i = 0; i < str.length; i++) {
if (tempStr.indexOf(str.charAt(i)) == -1) {
tempStr += str.charAt(i);
}
}
console.log(tempStr);
// 6.判断字符串中的某个字符是不是唯一的
var str = "aacbdfddkh";
function onlyLetter(str,letter) {
for (var i = 0; i < str.length; i++) {
//从前和从后对这个字符串进行索引,如果索引到的值,下标是一样的,怎说明这个字符是唯一的
if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i))) {
console.log(letter+"唯一的");
} else {
console.log(letter+"不是唯一的");
}
}
}
// 7.从字符串中找出没有重复的字符。
//第一种
var str = "aacbdfddkh";
for (var i = 0; i < str.length; i++) {
if (str.indexOf(str.charAt(i)) == str.lastIndexOf(str.charAt(i))) {
console.log(str.charAt(i));
}
}
//第二种
var str = "aacbdfddkh";
function strNorepeat(){
var strTemp = "";
for(var i = 0;i < str.length; i++){
if(str.indexOf(str.charAt(i)) == str.lastIndexOf(str[i])){
strTemp += str.charAt(i);
}
}
return strTemp;
}
console.log(strNorepeat(str));
//8.将字符串转成数组
var str = 'BAIDUID=9FF0B8AA8FC08CF64DD8378684FCC8C8:FG=1; PSTM=1557282068; BIDUPSID=2CF37A79FA3C0115B2D5D9E5571F67D9; BD_UPN=12314753; MCITY=-131%3A; H_WISE_SIDS=125704_133106_128700_133850_106370_133676_120170_134720_132909_133043_131247_132440_130762_132378_131518_118884_118861_118839_118834_118795_107319_132781_134391_133351_134855_132553_129656_134434_132250_127027_131861_128968_133473_133838_133847_132551_134462_134319_133577_134213_129644_131423_134608_134601_110085_134153_127969_131296_128201_134150_134231_134655_134298_134354; ispeed_lsm=2; sug=3; sugstore=0; ORIGIN=0; bdime=0; BDORZ=FFFB88E999055A3F8A630C64834BD6D0; delPer=0; BD_HOME=0; H_PS_PSSID=1423_21091_29522_29520_29721_29567_29221_29461_28701';
var newStr = str.split("; ");
console.log((newStr[1].split("="))[1]);
//9.str.replace的应用
var str = "wwwwwwwww";
for(var i = 0; i < str.length;i++){
str = str.replace("w","s");
}
console.log(str);