字符

一、转义字符——转换字符的意义

例1:

// \n  转义为换行符
console.log('hello \n word');
// table键的效果
console.log('hello \t word');
// '
console.log('it\'s a dog');

例2:

// 练习 : 打印出现welcome to chi\na
console.log('welcome to chi\\na');

二、字符串中常用方法

toUpperCase()          将英文字母都转换为大写

例1:

// 全部转换为大写或小写
var str='welCome To China';
// 转为大写
console.log(str.toUpperCase(str));

toLowerCase()        将英文字母都转换为小写

例1:

// 全部转换为大写或小写
var str='welCome To China';
// 转为小写
console.log(str.toLowerCase(str));

例2:

// 练习:初始化4个英文字母(有大小写)保存变量中,循环弹出提示框,输入4个字符,如果输入正确结束循环;
//[html文件]
<script src="demo.js"></script>

//[demo.js文件]
// 初始化4个英文字符
var code='mStN';
// 无线循环弹出提示框
do{
    var str=prompt('please input code');
    // 不区分大小写和code比较
    // 把初始化的都转成大写,把输入的都转成大写;
    code=code.toUpperCase();
    // 把输入的都转成大写
    str=str.toUpperCase();
    if(code==str){
        alert('yes');
        break;
    }
}while(true);

 length()      获取字符串的长度

例1:

var str='你好xiaopang';
console.log(str.length);

charAt()         获取下标对应的字符

例1:

var str='你好xiaopang';
console.log(str.charAt(str.length-1));

charCodeAt()       获取某个字符对应的unicode码

例1:

var str='你好xiaopang';
console.log(str.charAt(0).charCodeAt());

练习:

// 使用变量保存字符串“javascript”,获取字符“a”出现的个数
var str='javascript';
for(var i=0,sum=0;i<str.length;i++){
    // 获取每一个字符
    if(str.charAt(i)=='a'){
        sum++;
    }
}
console.log(sum);

indexOf(value,start)          获取下标 ,value是要查找的字符串,start是开始查找的下标,默认是0,如果找不到返回-1

lastIndexOf()      找最后一个

例1:

 

// 通过字符找下标,获取s的下标
var str='javascript';
console.log(str.indexOf('s'));
console.log(str.indexOf('a'));
console.log(str.indexOf('scr'));
// 找第2个a
console.log(str.indexOf('a',2));

 

例2:

// 练习:声明变量保存字符串,检测该字符串是否为邮箱格式,如果是返回true,不是返回false
// 判断是否含有@
var str='tom@163.com';
if(str.indexOf('@')>=0){
    console.log(true);
}else{
    console.log(false);
}

slice(start,end)       截取字符串,start是开始的下标,end是结束的下标,不包含end本身,如果end为空,截取到最后;

 

例1:

 

// 截取字符串
var str='javascript';
console.log(str.slice(4));           // script
console.log(str.slice(4,7));         // scr   
console.log(str.slice(-3,-1));       // ip  

 

例2:

//  使用变量存储身份证号,获取其中的年月日和性别。打印1997年05月20日 男
// 1102301997052023310

var str='1102301997052023310';
var year=str.slice(6,10);
var month=str.slice(10,12);
var data=str.slice(12,14);
var sex=str.slice(-2,-1);
if(sex%2==1){
    return sex='男';
}else{
    return sex='女';
}
console.log(year+'年'+month+'月'+data+'日'+sex);

例3:

 

// jerry@sina.com.cn     要求提取邮箱的用户名和网址
var str='jerry@sina.com.cn';
// 获取@的下标
var index=str.indexOf('@');
console.log(index);
// 获取用户名
var username=str.slice(0,index);
// 获取网址
var address=str.slice(index+1);
console.log('用户名'+username+'网址'+address);

 

substr(start,count)       第一个是开始的位置,第二个是要截取的位数,若只有一个参数,则后面的都截取

 

例1:

var str='javascript';
str.substr(4,3);         //scr
str.substr(-3,2);        //ip

例2:

// 'hELlo' --->  'Hello',首字母转大写,其余小写
var str='hELlo';
var one=str.substr(0,1).toUpperCase();
var last=str.substr(1).toLowerCase();
console.log(one+last);

split()           按照指定的字符, 将一个字符串分割为数组        

 例1:

var str='a|b|c';
console.log(str.split('|'));

例2:

// 使用split获取邮箱的用户名和域名
var str='jerry@qq.com';
var arr=str.split('@');
console.log(username+arr[0]);
console.log(address+arr[1]);

例3:

// 练习:将一句英文所有单词的首字母转大写,其余字母转小写;
// 'hOW arE  yOu'   ---->    How Are You

var str='hOW arE  yOu';
// 按照空格将字符串分割为数组
var one=str.split(' ');
// 遍历数组,获取每一个元素(单词)
for(var i=0;i<arr.length;i++){
    console.log(i);
    // 将每个元素的首字符转大写,其余转小写
    var first=one[i].substr(0,1).toUpperCase();
    var last=one[i].substr(1).toLowerCase();
    console.log(first+last);
    // 把转换后的结果替换之前的元素
    arr[i]=first+last
}
// 数组转换成字符串
arr.join(' ');
console.log(arr);

匹配模式——查找、替换字符串

reolace(1,2)    查找并替换,1是要查找的字符串,2是要替换的字符串,1可以使用字符串形式,也可以使用整个表达式形式/china/ig

例1:

var str='China是世界上人口最多的国家,china的互联网高度发达,CHINA有好多的程序员,China是一个伟大的国家';
// 查找多有的China,并替换为中国
// console.log(str.replace('china','中国'));
// 使用正则查找,i 忽略大小写,g  全局查找
console.log(str.replace(/china/ig,'中国'));

 match()      只负责查找,返回一个数组

var str='China是世界上人口最多的国家,china的互联网高度发达,CHINA有好多的程序员,China是一个伟大的国家';

console.log(str.match(/china/ig));

search()      返回满足条件的第一个下标,找不到返回-1

var str='China是世界上人口最多的国家,china的互联网高度发达,CHINA有好多的程序员,China是一个伟大的国家';

console.log(str.search(/china/));

Math对象——不需要使用new创建,可以直接使用

// 圆周率
console.log(Math.PI);
// 绝对值
console.log(Math.abs);
// 取整
console.log(parseInt(4.8));
// 向下取整
console.log(Math.floor(5.2));
// 向上取整
console.log(Math.ceil(5.3));
// 四舍五入取整
console.log(Math.round(5.4));
// 获取一组数据的最大值
console.log(Math.max(8,2,4,6,0,12));
// 获取一组数据的最小值
console.log(Math.min(8,2,4,6,0,12));
// 获取x的y次幂
console.log(Math.pow(3,4));
// 获取随机0-1     >=0    <1
console.log(Math.random()); 

例1:

// 0-20
console.log(Math.floor(Math.random()*21));

 

posted @ 2019-10-30 14:28  Alieen617  阅读(220)  评论(0编辑  收藏  举报