JS基础5_字符串操作/Math对象

5.字符串操作

         包装对象:目的是让原始类型数据向引用类型数据类型一样,具有属性和方法

       JS中提供了三种包装对象:String、Number、Boolean

  将任意类型转为字符串:

                   new String(数据)       强制转为字符串,返回 对象,使用和字符没有区别

                   String(数据)            强制转为字符串,返回  字符串

  PS:包装对象和普通的字符串用法没有区别

(1)转义字符   

              \                                           转换字符的意义   在要转义的字符前面加

\'

将有特殊意义的引号转换成  普通字符

\n

将普通字符n,转义成  换行符

\t 

将普通字符t转义成  制表符(tab键效果)

\''

 双引号

\b

 退格符

\\

反斜杠

(2)字符串API

                                     API  作用——参数——返回值

length()

获取字符串长度

charAt()

获取下标对应的字符   字符串[下标]

charCodeAt()

获取某个字符的Unicode码

indexOf(value,start)

查看某个字符的下标,value要查找的字符串,start开始查找的下标,找不到返回-1

lastIndexOf(value)

查看某个字符最后一次出现的下标,找不到返回-1

toUpperCase()

将英文字母转为大写

toLowerCase()

将英文字母转为小写

slice(start,end)

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

substr(start,count)

截取字符串,start开始的下标,count截取的长度,如果count为空截取到最后

substring(start,end)

截取字符串,start开始下标,end结束下标,end为空截取到最后;如果下标为负数,自动转成0

split()

按照指定的字符将字符串分割为数组

         对比slice和substring

                   slice中下标允许使用负数,substring会自动将负数转为0;

                   slice中下标的顺序start小于end,substring中下标大小不分顺序

//字符串API

var str='javascript';

//遍历字符串,打印出每一个字符

for(var i=0;i<str.length;i++){

         console.log(str.charAt(i));

}

//声明变量保存字符串,检测该字符串中是否含有@,如果有打印“合法的邮箱”,否者打印“不合法的邮箱”

var email='wangwu@163.com';

if(email.indexOf('@')>=0){

         console.log('合法的邮箱');

}else{

         console.log('不合法的邮箱');

}

//声明变量保存4个英文字母,循环弹出提示框,输入验证码(不区分大小写),如果输入正确,结束循环

var code='aBcd';

//var input='';

//while(input.toUpperCase()!=code.toUpperCase()){

//      input=prompt('请输入4位字母的验证码');

//}

while(true){

         var input=prompt('请输入4位字母的验证码');

         if(input.toUpperCase()==code.toUpperCase()){

         alert('输入的\n'+input+'\n是正确的验证码');

         break;

         }

}

//截取字符串scr

var str='JavaScript';

console.log(str.slice(4));

console.log(str.slice(4,7));

console.log(str.slice(-3,-1));

console.log(str.substr(4,3));

*/

//使用变量保存邮箱,截取用户名和域名

var email='tom123456@163.com';

var index1=email.indexOf('@');

var user=email.substr(0,index1);

var ip=email.substr(index1+1);

console.log('用户名是:'+user+'\n域名是:'+ip);

//将一个英文单词的首字母转大写,其它转小写

var word='welcoME';

var str1=word.substr(0,1);

var str2=word.substr(1);

console.log(str1.toUpperCase()+str2.toLowerCase());

// 练习:使用变量保存身份证号,截取其中的出生年,月,日,性别。 打印 1998年06月20日  性别男

var card=' 500121199806200336';

var year=card.substr(6,4);

var month=card.substr(10,2);

var day=card.substr(12,2);

var sex=card.substr(-2,1)%2==1?'男':'女';

console.log(year+'年'+month+'月'+day+'日'+'\n性别'+sex);

//使用split获取邮箱中的用户名和域名(jerry@126.com)

var email='jerry@126.com';

//console.log(email.split('@'));

var arr=email.split('@');

console.log(arr[0],arr[1]);

(3)匹配模式(掌握)

         作用:用于查找、替换字符串                   

match(value)

用于查找匹配的字符串,返回所有满足条件的元素,组成数组  /china/ig    i -->ignore 忽略大小写    g --> global 全局查找

search(value)

用于查找满足条件的第一个字符串的下标,如果找不到返回-1

replace(vaele1,value2)

查找并替换vlaue1要查找的字符串,value2要替换的字符串

var str='China is biggest country,china\'s internet is good,CHINA have much money,welcome to china';

//修饰符 i  -->ignore 忽略大小写

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

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

console.log(str.replace(/china/ig,'***'));

6.Math对象

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

PI

获取圆周率

console.log(Math.PI);  // 3.141592653589793

abs()

获取绝对值

console.log(Math.abs(3-5));   //2

floor()

向下取整

console.log(Math.floor(3.4));     //3

ceil()

向上取整

console.log(Math.ceil(3.4));  //4

round()

四舍五入取整

console.log(Math.round(3.4));  //3

max()

取一组数字的最大值

console.log(Math.max(3,4,6));   //6

min()

取一组数字的最小值

console.log(Math.min(3,6,2));  //2

pow(x,y)

求x的y次幂

console.log(Math.pow(2,5));   //32

random()

取随机数 0~1   0<=r<1

console.log(Math.random());  //0~1

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值