常用对象
字符串的定义:定义一个变量,然后直接将字符串赋值给它。
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"]
定义:
// var d = new Date();//程序运行那一刻的日期
vard = 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
为什么要有正则表达式:因为查找是一个比较复杂的东西,我们更加准确快速找到自己想要的。
什么是正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑
定义规则: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;
//全局查找
varresult = str.replace(patt2,"O");
document.write(result);
字符模式
[Hel]:从里面字符中任意一个去匹配字符串
varstr = "1H2e3l4loC6o7ol8Dog";
var patt =/[Hel]/g;
var result = str.match(patt);
document.write(result);//结果为H,e,l,l,l
[0-9]:匹配任意一个数字
varstr = "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也能用[]来找
varstr = "1H2e3l4loC6o7ol8Dog";
varpatt2 = /([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的缩写
varstr = "1H2e3l4loC6o7ol8Dog";
var patt =/\w/g;//word
var result = str.match(patt);
document.write(result);//结果为1H2e3l4loC6o7ol8Dog
\s : 空格 s是space的缩写。
varstr = " 1H2e3l4loC6o7ol8Dog";
varpatt = /\s/g;
var result = str.replace(patt,"&");
document.write(result);//结果为&1H2e3l4loC6o7ol8Dog
\d: 数字 digital的缩写
varpatt1 = /\d/g;
常见的量词:
o+: 找到1个或者多个
o*: 找到0个或者多个
o?: 找到0个或者1个
varstr = "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{2,3}:指定一个有范围的区间最少2个最多3个
o{2,}:最少2个
varstr = "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
^:必须以后面的内容开头
$:以什么内容结束
varpatt = /^([a-z]|[A-Z])\w{5,17}$/;
RegExp常用的两种方法:
exec():返回的是找到符合正则表达式新的字符串
varstr = "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.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