声明:本篇含有字符串、和正则表达式,都只是一部分,怕消化不起,等核心这块讲完我会总结一篇。
一、字符串
1.字符串的特点:
同数组一样,字符串也有下标和长度这两个属性,并且字符串遍历也用for
但不同的是,获取字符串中制定位置的字符用
str.charAt(i) //str变量名,i表示字符串中的下标
字符串的下标:var str=’I love you’
0123456789 //每格一个下标,空格也是
遍历字符串:var str=’香香的感觉,你吃过没。辣辣的口味,你尝过没。网爆红人的歌声,你听过 没。真正的烤面筋,可带劲了。’;
for(var i=0;i<arr.length;i++){
console.log(str.charAt(i));
console.log(str.charCodeAt(i));//这里是字符串内容在计算机显示的编号
}
2.字符串中的API:所有字符串中的API都无权修改原字符串,必须返回新字符串
1)toUpperCase();转大写,切记只有字母才有大小写
案例:function run(){
var num=prompt('请输入验证码EaT4');
var num1=num.toUpperCase();
var str='EaT4';
var str1=str.toUpperCase();
if(num1==str1){
alert('验证成功');
}else{
alert('验证失败');
run();
}
}
run();//调用
解决验证码区分大小写问题
2) toLowerCase();转小写
案例:var strs='NO ZUO NO DIE';
//转小写
var strs1=strs.toLowerCase();
console.log(strs1);
3) slice(starti,endi+1);截取,与数组的slice用法一样,特点也一样
案例:var str='no zuo no die';
var strs=str.slice(1,5);
省略第一个参数
var strs=str.slice(1);
两个参数都省略
var strs=str.slice();
支持负数参数
var strs=str.slice(-5,-3);
console.log(strs);
4)concat(); 拼接 与数组的concat用法一样
5) substring(starti,endi+1);截取 用法同slice 只是不支持负数参数
案例:var str='0123456';
var str1=str.substring(1,3);// 12
var str1=str.substring(1);// 123456
var str1=str.substring();// 0123456
var str1=str.substring(-2,-1);//啥也没有
6) substr(starti,n);截取从starti开始的n个字符
案例:var str='0123456';
var str1=str.substr(,3);//123
var str1=str.substr(1,0,'7','8');//啥也没有
var str1=str.substr(1,2,'7','8');//12
console.log(str1);
* 7) indexOf('关键词',starti);检索一个固定关键词出现的位置
从starti开始,查找下一个关键词出现的位置
如果找不到,返回-1
如果不写starti,默认从0开始找
* 8) lastIndexOf('关键词',starti);检索上一个固定关键词出现的位置
从str中fromi位置开始查找前一个"关键词"出现的位置
如果找不到,返回-1
简写:省略starti, 表示从末尾开始找
案例:var str='in off ppt fflook';
var str1=str.indexOf('ff');//4
var str2=str.lastIndexOf('ff');//11
console.log(str1);
console.log(str2);
二、正则表达式(Regular Expression):
1.定义: 规定字符串中出现规律的规则.用来检某个字符串是否符合规则或检测字符串中是否包含符合规定的子字符串
2.如何声明一个正则表达式
var reg=/ /;
var reg=new RegExp(/正则表达式/);
验证是否正确用reg.test(str); //reg代表正则表达式,str代表字符串
案例:var str=prompt('请输入....');
var reg=/^[0-9]$/;
var reg=/^[a-zA-Z]$/
var reg=/^[0-9]$/;
语法:
[if !supportLists](1) [endif]最简单的正则就是字符集原文
案例: var str='no zuo no die';
var reg=/no/;
var result=reg.test(str);
console.log(result);
(2)字符集:规定一位字符可用的备选列表 [备选字符列表]
案例: var str=prompt('请输入....');
var reg=/[135]/;
var result=reg.test(str);
console.log(result);
(3)如果字符列表中部分字符连续就可以用-省略
一位大写字母:[A-Z]
一位小写字母:[a-z]
一位字母:[A-Za-z]
一位数字:[0-9]
4.除了[^xxx]表示除了xxx都行 [^]表示除了
案例:var str=prompt('请输入....');
var reg=/[^A-Za-z]/;
var result=reg.test(str);
console.log(result);
End!