Js字符串String

Js字符串String

字符串对象
包装对象:让原始的数据也可以像引用类型一样,具有属性和方法
Js提供了3种包装对象:String Number Boolean

//包装数据
var str1=“hello word!”;
var str2 = new String(str1);
console.log(typeof(str2),str2);
//在word 后拼接js
console.log(typeof(str1),str1+">>>js");
console.log(typeof(str2),str2+">>>js");
//将数据转为字符串类型
var str3=new String(true);
console.log(str3+2,typeof(str3));
在这里插入图片描述
字符串的API
var str=“hello world”;
//英文字母转大写
var s=str.toUpperCase();
console.log(s);
//英文字母转小写
var ls=s.toLowerCase();
console.log(ls);
var str=“hshshshshh”;
//获取字符长度
console.log(str.length);
//获取某个字符
console.log(str.charAt(str.length-1));
//charCodeAt获取字符的Unicode码
console.log(str.charAt(4).charCodeAt());
在这里插入图片描述
//查找某个字符第一次出现的下标
var str=“gaopengfei”;
console.log(str.indexOf(“e”));
//查找某个字符最后一次出现的下标
console.log(str.lastIndexOf(“e”));
在这里插入图片描述
//练习:创建一个函数checkEmail,检测邮箱是否合法,如果字符串中含有@,返回true,否则返回false
function checkEmail(str){
var st=str.indexOf("@");
if(st==-1){
return false;
}else return true;
}
console.log(checkEmail("122121@qq.com"));
console.log(checkEmail(“122121qq.com”));
在这里插入图片描述
**//截取字段slice(start,end) **
var str=“情不知所起,一往而深!”;
var s1=str.slice(0,6);
console.log(s1);
var s=str.slice(6,-1);
console.log(s);
在这里插入图片描述
例子:
function getUsersex(cardnum){
//身份证(610300199001019912)倒数第二个,偶数是女孩子,奇数是男孩子
var getsex=cardnum.slice(-2);
if(getsex%2==0){
return “女”
}else return “男”
}

function getUseryear(cardnum){
//身份证的第7位到10位,是年
return getyear=cardnum.slice(6,10);

}
function getUserMounth(cardnum){
//身份证的第11位到12位,是月
return getmounth=cardnum.slice(10,12);
}
function getUserDay(cardnum){

//身份证的13位到14位,是日
return getday=cardnum.slice(12,14);

}

console.log(getUseryear(“610300199001019912”));
console.log(getUserMounth(“610300199001019912”));
console.log(getUserDay(“610300199001019912”));
console.log(getUsersex(“610300199001019912”));
在这里插入图片描述
//substr从第几个开始,向后截取多少个参数
var laptop=“Linux 之父拒绝 996,Swift、Python 之父痴迷深夜编程,程序员之神的 24 小时!”
var lap=laptop.substr(0,8);
console.log(lap);

例子:
function getUsersex(cardnum){
//身份证(610300199001019912)倒数第二个,偶数是女孩子,奇数是男孩子
var getsex=cardnum.slice(-2);
if(getsex%2==0){
return “女”
}else return “男”
}

function getUseryear(cardnum){
//身份证的第7位到10位,是年
return getyear=cardnum.substr(6,4);

}
function getUserMounth(cardnum){
//身份证的第11位到12位,是月
return getmounth=cardnum.substr(10,2);
}
function getUserDay(cardnum){

//身份证的13位到14位,是日
return getday=cardnum.substr(12,2);

}

console.log(getUseryear(“610300199001019912”));
console.log(getUserMounth(“610300199001019912”));
console.log(getUserDay(“610300199001019912”));
console.log(getUsersex(“610300199001019912”));
在这里插入图片描述
//截取邮箱的用户名和域名
function getUser(email){
var slicenum = email.indexOf("@");
return UserNum = email.substr(0,slicenum);
}
function getYuNum(email){
var slicenum = email.indexOf("@");
return UserNum = email.slice(slicenum+1,email.length);
}
console.log(getUser("2323232323232@qq.com"));
console.log(getYuNum("2323232323232@qq.com"));
在这里插入图片描述
//首字母大写
function firstWordUp(str){
var strFirst=str[0].toUpperCase();
return strFirst+str.slice(1,str.length);
}
console.log(firstWordUp(“hello word!”));
在这里插入图片描述
//join 将数组转为字符串
var arr=[1,2.3,4,5];
var str=arr.join("|");
console.log(str,typeof(str));
//split 将字符串转为数组
var arr2=str.split("|");
console.log(arr2,typeof(arr2));
例子:
//截取邮箱的用户名和域名
function getUser(email){
var slicenum = email.split("@");
return slicenum[0];
}
function getYuNum(email){
var slicenum = email.split("@");
return slicenum[1];
}
console.log(getUser("2323232323232@qq.com"));
console.log(getYuNum("2323232323232@qq.com"));
在这里插入图片描述
匹配模式
var str="China 是世界上人口最多的人,china的胡亮网,CHINA合理化 ";
//replace 查找并替换成
//var strnew=str.replace(“china”,“中国”);
//console.log(strnew);
//正则表达式的写法/(匹配的词)/i(忽略大小写)g(global)全局查找
console.log(str.replace(/china/,‘中国’));
console.log(str.replace(/china/i,‘中国’));
console.log(str.replace(/china/ig,‘中国’));
在这里插入图片描述
var str="China 是世界上人口最多的人,china的胡亮网,CHINA合理化 ";
//match 查找匹配的字符串,返回的数组
console.log(str.match(/china/));
console.log(str.match(/china/i));
console.log(str.match(/china/ig));
在这里插入图片描述
var str="China 是世界上人口最多的人,china的胡亮网,CHINA合理化 ";
//查找字符串,返回的是下标,如果找不到和indexof()一样,都是-1
console.log(str.search(/china/));
console.log(str.search(/china/i));
console.log(str.search(/china/ig));
console.log(str.search(/chinease/i));
在这里插入图片描述
Math对象
//取绝对值abs
console.log(Math.abs(-2));
//取整,向下取整floor
console.log(Math.floor(9.876));
//取整,向上取整ceil
console.log(Math.ceil(9.876));
//取整,四舍五入取整round
console.log(Math.round(9.876));
//获取最大值max
console.log(Math.max(9.876,10,4,23,5));
//获取最小值min
console.log(Math.min(9.876,10,4,23,5));
//计算x的y次幂
console.log(Math.pow(25,1/2));
//圆周率
console.log(Math.PI);
//取随机random,0-1
console.log(Math.random());
在这里插入图片描述
例子

//根据Unicode码找字符
var word = String.fromCharCode(90);
console.log(word);
var arr=[0,1,2,3,4,5,6,7,8,9];
var randomArry=[];
//循环65-90,产生A-Z;97-122,a-z
for(var i=65;i<=90;i++){
var w=String.fromCharCode(i);
//将A-Z存入数组
arr.push(w);
}
for(var j=97;j<=122;j++){
var lw=String.fromCharCode(j);
//将a-z存入数组
arr.push(lw);
}
for(var h=0;h<4;h++){
//获取随机数0-数组长度
var num=Math.random()*arr.length;
//随机数向下取整
var numFloor=Math.floor(num);
//给新数组中push随机的数组
randomArry.push(arr[numFloor]);
}
console.log(arr);
console.log(randomArry);
var word=randomArry.join("");
console.log(word);
在这里插入图片描述
//双色球,从1-33取6,1-16取1个
var arr=[];
var newArry=[];
//给数组中存入1-33
for(var i=1;i<=33;i++){
arr.push(i);
}
//1-33随机取6个数字
for(var i=0;i<6;i++){
//取随机数
var randomnum=Math.random()*arr.length;
//对随机数向下取整得到数组下标
var j=Math.floor(randomnum);
//将获取到的值存入新数组
newArry.push(arr[j]);
}
//1-16,随机取一个数字
//获取1-16的下标并且向下取整
var nj=Math.random()*16;
var njfloor=Math.floor(nj);
newArry.push(arr[njfloor]);
console.log(arr);
console.log(newArry);
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值