js中String,Date,Math常用函数

String,Date,Math常用函数

String对象:

 

1.length属性
说明:获取字符串的长度
实例:
var str="abc";
var i=str.length;//output:3

 

2.charAt()方法
说明:从字符串中找出一个指定索引(位置)的字符
实例:
var str="abc";
var str1=str.charAt(2);//output:c
//字符串索引从0开始

 

3.indexOf()方法
说明:得到子字符串在母字符串中第一次出现的位置(下标),如找不到则输出"-1";
格式:index(子字符串,起始索引);
实例:
var str="abcdb";
var i=str.indexOf('b');//output:1
var j=str.indexOf('b',2);//output:4

 

4.lastIndexOf()方法
说明:得到子字符串在母字符串中第一次出现的位置,与indexOf不同的是,lastIndexOf是从最后一个字符开始搜索.
如果找不到则输入"-1"
实例:
var str="abcdcbd";
alert(str.lastIndexOf('bd'));//output:5
alert(str.lastIndexOf('b',3));//output:1,这里第二个参数为3代表在索引3的末尾开始查找所以输出是1
alert(str.lastIndexOf('b',5));//output:5,这里第二个参数为5代表在索引5的末尾开始查找所以输出是5
//注意:lastIndexOf是从最后一个字符开始搜索,那么你指定了:str.lastIndexOf('b',5)它就会从索引5的位置向前搜索'b'的索引

 

4.substring()方法
说明:截取母字符串的一部分字符串.
格式:substring(起始索引,终止索引)
实例:
var str="abcdefg";
alert(str.substring(0,3));//output:abc
alert(str.substring(3,0));
//output:abc,substring()函数会自动判断哪个是起始,那个是终止.
//所以会把参数0放到前面,把参数3放到后面,所以输出的还是:abc
alert(str.substring(3));//output:defg

注意:返回值并不会包含借宿索引的那个字符,而是到其前一个字符为止.

 

5.replace()方法
说明:替换字符串中指定的子字符串为对应字符串
格式:replace("指定的子字符串","替换为相对应的字符串")
实例:
var str="abcdbfgbc";
alert(str.replace("bc",'kk'));//output:akkdbfgbc
注意:只替换相符的第一个字符串
这点与C#不同,看下面实例:
string tt = "abcdcd";
Console.WriteLine(tt.Replace("cd","aa"));
//输出:abaaaa,C#的Replac函数会在字符串中搜索所有为"cd"的字符串,并将为"cd"的字符串替换为"aa".

 

6.toLowerCase()方法和toUpperCase()方法

toLowerCase()方法
说明:把输入字符串中的大写字母全部变成小写字母.
实例:
var str="JAVASCRIPT";
var newstr=str.toLowerCase();
注意:对中文没有影响

 

toUpperCate()方法
说明;把输入字符串中的小写字母全部变成大写字母
实例:
var str="javascript";
var newStr=str.toUpperCase();
注意:对中文没有影响

 

习题:
1:用户输入文字,如长度大于5则只显示5个字符,并在其后加上“。。。”,如长度小于5,则原样显示.如输入的文字有英文,必须把所有的文字全部转换为小写
算法如下:
把用户输入的文字转换为小写(toLowerCase)
判断是否大于5个字符(if ,length),如大于则只取前16个字符(substring(0,16))并加上“….”(字符串连接符“+”)输出否则(else)输出

 

var input=prompt("请输入文字:","");
if(input.length>5){
 input=input.substring(0,16)+"...";
 alert(input.toLowerCase());
}else{
 alert(input.toLowerCase()); 
}

 

2:判断用户输入的名字中是否有 “21shipin.com”字符,如有,则弹出“请不要乱起名字“并指出哪个字符起含有非法字符,否则弹出“嗯,好名字“
算运如下:
indexOf(“21shipin.com”)如有,则返回的不是“-1”

 

var input=prompt("请输入字符串:","");
if(input.toLowerCase().indexOf("21shipin.com")!=-1){
 alert("请不要乱起名字,在字符位置"+(input.toLowerCase().indexOf("21shipin.com")+1)+"起含有非法字符!");
 alert(input.toLowerCase().replace("21shipin.com","*****"));
}else{
 alert("恩,好名字");
}

 

Date对象:

Date对象的属性和方法:
Date对象在使用前,必须先使用new指定实例化一个变量,然后才可以用该变量调用相关函数.我们使用
string函数时,需把字符串放在一个变量,才能对这个字符串变量使用string函数,同样,我们Date对象
函数的使用,也必须把一个时期放在一个变量中,也就是对象实例化

语法:
var myDate=new Date();//获取当前时期放到变量中.
var myDate=new Date(年,月,日);//获取指定年月日放入变量中,其它的时分秒均为0
var myDate=new Date(年,月,日,时,分,秒);
myDate.函数();

 

getYear();获取年
getMonth();获取月
getDate();获取当前月第几日
getDay();获取星期几
getHours();//获取小时
getMinutes();//获取分钟
getSeconds();//获取秒
getTime();//获取毫秒

getYear()方法

获得年份
实例
var date=new Date();
alert(date.getYear());

getMonth()方法

获得月份.
实例:
var date=new Date();
alert(date.getMonth());
注意:1月至12月所对应的值分别为0至11.

 

getDate()方法
获取当日号数
实例:
var date=new Date();
alert(date.getDate());

 

输出年月日:
var newYMD=new Date(),newYear,newMonth,newDate;
newYear=newYMD.getYear();
newMonth=newYMD.getMonth()+1;
newDate=newYMD.getDate();
alert(newYear+"年"+newMonth+"月"+newDate+"日");

 

getDay()方法
说明:获取星期几
实例:
var myDate=new Date();
var day=myDate.getDay();
注意:星期日至星期六所对应的值分别为0至6

那么我们可以用switch case 进程转换

var newYMD=new Date(),newYear,newMonth,newDate,newDay;
newYear=newYMD.getYear();
newMonth=newYMD.getMonth()+1;
newDate=newYMD.getDate();
newDay=newYMD.getDay();
switch(newDay){
 case 0:newDay="星期天";break;
 case 1:newDay="星期一";break;
 case 2:newDay="星期二";break;
 case 3:newDay="星期三";break;
 case 4:newDay="星期四";break;
 case 5:newDay="星期五";break;
 case 6:newDay="星期六";break;
}
alert(newYear+"年"+newMonth+"月"+newDate+"日"+newDay);

 

getHours()方法
一、返回小时。
二、实例:
var myDate = new Date(2006, 6, 10, 14, 16, 20);
var hours = myDate .getHours();

getMinutes()方法

一、返回分钟数。
二、实例:
var myDate = new Date(2006, 6, 10, 14, 16, 20);
var minutes = myDate .getMinutes();

getSeconds()方法

一、返回分钟数。
二、实例:
var myDate = new Date(2006, 6, 10, 14, 16, 20);
var seconds = myDate .getSeconds();

 

得到年月日时分秒:

var newYMD=new Date(),newYear,newMonth,newDate,newDay,newHours,newMinute,newSecond;
newYear=newYMD.getYear();
newMonth=newYMD.getMonth()+1;
newDate=newYMD.getDate();
newDay=newYMD.getDay();
switch(newDay){
 case 0:newDay="星期天";break;
 case 1:newDay="星期一";break;
 case 2:newDay="星期二";break;
 case 3:newDay="星期三";break;
 case 4:newDay="星期四";break;
 case 5:newDay="星期五";break;
 case 6:newDay="星期六";break;
 default:alert("系统出错");break;
}
newHours=newYMD.getHours();
newMinute=newYMD.getMinutes();
newSecond=newYMD.getSeconds();
alert(newYear+"年"+newMonth+"月"+newDate+"日"+newDay+" -- "+newHours+"点"+newMinute+"分"+newSecond+"秒");

 

getTime()方法
返回从1970年1月1号到当前时间以来所积累的毫秒总数

实例:计算两个时间相差的天数:
var beginDate=new Date(2009,1,1).getTime();//这里的1代表2月
var endDate=new Date(2009,1,28).getTime();
var day=((endDate-beginDate)/1000/60/60/24);
//相减得到两个时间相差的毫秒数,除以1000得到相差毫秒数,除以60得到相差的分钟,再除以60得到相差的小时,最后除以24得到天数

 

Math对象(数学函数)
直接通过Math对象调用属性或方法.
语法Math.函数(参数);

 

abs 绝对值
ceil 返回大于等于其数字参数的最小整数
floor 返回小于等于其数字参数的最大整数
round 返回一个四舍五入的整数
max 返回多个数中最大值
min 返回多个数中最小值
pow 记算一个数的幂次方
random 随机产生一个介于0-1之间的数值

 

abs()方法
说明:返回参数的绝对值.
实例:
alert(Math.abs(-8.12));//output:8.12

ceil()方法
说明:返回大于参数的最小整数
实例:
alert(Math.ceil(-8.12));//output:-8;
alert(Math.ceil(8.12));//output:9;

 

floor()方法
说明:返回小于参数的最大整数
实例;
alert(Math.floor(-8.12));//output:-9
alert(Math.floor(8.12));//output:8

 

max方法
说明:返回多个数中最大的那个数
实例:
var i = Math.max(8,3);

 

min方法
说明:返回多个数中最小的那个数
实例
var i=Math.min(8.3);

 

alert(Math.min(-5.3,5,90,12));//output:-5.3
alert(Math.max(-5.3,5,90,12));//output:-5

 

pow()方法
说明:返回a的b次方的值.
var result=Math.pow(a,b);
实例:
var i=Math.pow(3,4);//output:81,3的4次幂相当于3*3*3*3

 

random()方法
说明:返回0-1之间的随机数
var f=Math.random();

实例:取0-100之间的随机数:
alert(Math.round(Math.random()*100));

round()方法
返回参数的四舍五入值.
实例:
alert(Math.round(8.1));//output:8
alert(Math.round(8.6));//output:9

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值