常用对象
9.1字符串
字符串的定义:定义一个变量,然后直接将字符串赋值给它。
Var str = “abc123”;
字符串实际上是字符组成的数组。所以数组的方法它基本都有。
(1)访问字符串里面的字符:
a. 数组方式:(str[i])
b. 字符串特有的方式:charAt(i)
(2)查找
a. 数组方式:indexof
b. 字符串方式:search (): 传入参数(要搜索的子串),返回子串的第一个字符在父串的下标。这个方法对大小写敏感。
search 方法的功能比indexof更强大,它可以使用正则表达式
(3)取子串
a. 数组方式:slice():
b. 字符串特有的方法:
substr(start,length):传入参数(第一个参数,开始截取的下标,如果没有第二个参数,它就一直取到最后)(第二个参数,截取的长度)
substring(start,end):传入两个参数,第一个参数,开始截取的下标,第二个参数,截取结束的下标。
(4)替换
a. 数组方式:splice():
b. 字符串特有的方法:
replace(): 替换,传入的参数(第一个参数是被替换的子串)(第二个参数是新的子串)
var str = "hello world"; str = str.replace("world","china"); alert(str);//hello china
/*如果有多个china,只会替换第一个*/
toUpperCase(): 小写字母转化为大写字母的方法
var str = prompt("请输入一个英文字符串");//abc str = str.toUpperCase(); alert(str);//ABC
toLowerCase():大写字母转化为小写字母的方法
var str = prompt("请输入一个英文字符串");//ABC str = str.toLowerCase(); alert(str);//abc
trim():去除字符串首尾的空格符
var str = " 请输入一个英文字符串 "; alert(str); str = str.trim(); alert(str);
split():字符串的分割。用字符串“x”进行分割,分割之后是一个数组。
var str = "a b c"; str = str.split(" "); alert(str);//["a","b","c"]
9.2日期
定义:
// var d = new Date();//程序运行那一刻的日期 var d = new Date(2017,3,22);//那个3显示的是4月
不给参数,定义的日期为执行这条指令时那一刻的系统的日期。
当然也可以指定年月日时分秒参数,但是要特别注意的是月从0开始,即0表示1月。
修改日期:
setYear 、setDate、setHours、setMonth..............
获取日期分量
getYear 、getDate、getHours、getMonth..............
getTime 获取的是从1970-1-1 00:00:00至指定日期所经历的毫秒数
getMilliseconds 是获取毫秒分量
日期转化成字符串
document.write(d.toString()+"<br>"); document.write(d.toDateString()+"<br>"); document.write(d.toTimeString()+"<br>"); document.write(d.toLocaleDateString()+"<br>"); document.write(d.toLocaleTimeString()+"<br>"); document.write(d.toUTCString()+"<br>");
日期运算
d1>d2
d1-d2:两个日期相隔的毫秒数
便捷计算某月天数的方法
var month = 2; var d = new Date(2017,month,0); document.write(d.getDate()+"<br>");//28
9.3正则表达式
为什么要有正则表达式:因为查找是一个比较复杂的东西,我们更加准确快速找到自己想要的。
什么是正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑
定义规则:1、使用/规则/修饰符 修饰符是可以省略的。
var patt = /HelloCoolDog/i;
2、新创建一个RegExp对象,给两个参数分别为规则和修饰符,
var patt1 = new RegExp("HELLO","i");
常用的修饰符:
i:不区分大小写
var str = "HelloCoolDog"; var patt = /HelloCoolDog/i;
var result = str.replace(patt2,"O"); document.write(result);
// i 不区分大小写
g:全局匹配,从找到的下一个下标开始在继续往后查找,一直到字符串结束。
var patt2 = /o/g; //全局查找 var result = str.replace(patt2,"O"); document.write(result);
字符模式
[Hel]:从里面字符中任意一个去匹配字符串
var str = "1H2e3l4loC6o7ol8Dog"; var patt = /[Hel]/g; var result = str.match(patt); document.write(result);//结果为H,e,l,l,l
[0-9]:匹配任意一个数字
var str = "1H2e3l4loC56o7ol8Dog"; var patt1 = /[0-9]/g; var result = str.match(patt1); document.write(result);//结果为1,2,3,4,5,6,7,8
[a-z]:匹配所有小写字母
[A-Z]:匹配所有大写字母
(a|x):匹配a或者x,a也能用[]来找
var str = "1H2e3l4loC6o7ol8Dog";
var patt2 = /([A-Z]|[a-z])/g; var result = str.match(patt2); document.write(result);//结果为H,e,l,l,o,C,o,o,l,D,o,g
常用的元字符:
\w : 单词字符,包括所有字母和数字和下划线。W是Word的缩写
var str = "1H2e3l4loC6o7ol8Dog"; var patt = /\w/g;//word var result = str.match(patt); document.write(result);//结果为1H2e3l4loC6o7ol8Dog
\s : 空格 s 是space的缩写。
var str = " 1H2e3l4loC6o7ol8Dog";
var patt = /\s/g; var result = str.replace(patt,"&"); document.write(result);//结果为&1H2e3l4loC6o7ol8Dog
\d: 数字 digital的缩写
var patt1 = /\d/g;
常见的量词:
o+: 找到1个或者多个
o*: 找到0个或者多个
o?: 找到0个或者1个
var str = "1H2e3l4loC6oooo7ool8Dog"; var patt = /oo+/g;//匹配一个或者多个 var patt1 = /oo*/g;//匹配0个或者多个 var patt2 = /oo?/g;//匹配0个或者1个 var result = str.match(patt); document.write(result+"<br>");//结果为oooo,oo var result = str.match(patt1); document.write(result+"<br>");//结果为o,oooo,oo,o var result = str.match(patt2); document.write(result);//结果为o,oo,oo,oo,o
o{3}:指定具体的个数只有3个
o{2,3}:指定一个有范围的区间最少2个最多3个
o{2,}:最少2个
var str = "1H2e3l4loC6oooo7ool8Dog"; var patt = /o{2}/g;//指定了o的个数 var patt1 = /o{2,3}/g;//指定至少2个最多3个 var patt2 = /o{2,}/g; var result = str.match(patt); document.write(result+"<br>");//结果为oo,oo,oo var result = str.match(patt1); document.write(result+"<br>");//结果为ooo,oo var result = str.match(patt2); document.write(result);//结果为oooo,oo
^:必须以后面的内容开头 $:以什么内容结束
var patt = /^([a-z]|[A-Z])\w{5,17}$/;
RegExp常用的两种方法:
exec():返回的是找到符合正则表达式新的字符串
var str = "good afternoon"; var patt = /\w+/g; var result = patt.exec(str);
document.write(result);
test():返回的是true或者false当字符串满足正则表达式时为true否则为false
//请输入一个不少于6位不多于18位的密码,只能输入字母数字和下划线,并且密码开头只能是字母 var str = prompt("请输入密码"); var patt = /^([a-z]|[A-Z])\w{5,17}$/; if(patt.test(str)){ document.write(("您输入的密码正确")); }else{ document.write(("对不起,您输入的密码不正确")); }
9.4其他对象
Math对象
Math方法及属性
描述
Math.max(n1,n2,n3,n4)
取得n1,n2,n3,n4中的最大值
Math.min(n1,n2,n3,n4)
取得n1,n2,n3,n4中的最小值
Math.pow(x,y)
获得x的y次方
Math.sqrt(x)
获得x开根的值
Math.abs(x)
获得x的绝对值
Math.floor(x)
对X向下取整
Math.ceil(x)
对X向上取整
Math.round(x)
四舍五入
Math.random()
产生0到1之间的随机数
Math.PI
获得π的值
Math.E
获得e的值
Number对象
toExponential():科学计数法表示,指数计数法
var e = 1000000; e = e.toExponential(); alert(e);//结果为1e+6
toFixed(x):保留x位小数,四舍五入,把数字转换为字符串
var e = 1.222222; e = e.toFixed(2); alert(e);//结果为1.22
toPrecision():将数字保留X位,并返回的是字符串类型。
var e = 12.4566; e = e.toPrecision(4); alert(e);//结果为12.45