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