9.1字符串
字符串的定义:定义一个变量,然后直接将字符串赋值给它。
Var str = “abc123”;
字符串实际上是字符组成的数组,所以数组的方法它基本都有。
(1)访问字符串里面的字符:
a、数组的方法str[i]
b、字符串特有的方式charAt(i)。
(2)查找
a、数组的方法indexof
b、字符串的方式search()方法:
[1]search()方法:传入参数(要搜索的子串),返回子串的第一个字符在父串的下标。这个方法对大小写敏感。
[2]Search方法的功能比indexof更强大,它可以使用正则表达式形式来查找。
(3)取子串
a 数组方式:slice();
b 字符串特有的方式:Substr(start,length);传入参数(第一个参数,开始截取的下标,如果没有第二个参数,它就一直取到最后)(第二个参数,截取的长度)。
c、substing():传入两个参数,第一个参数,开始截取的下标,第二个参数,截取结束的下标。
(4)替换
a 数组的方式:splice
b 字符串特有的方式:replace()替换,传入的参数(第一个参数被替换的子串)(第二个参数是新的子串)。
<script>
var str = "hello world China";
str = str.replace("world","China");//替换
alert(str);
</script>
toLocaleUpperCase():小写字母转化为大写字母
<script>
//小写转大写
var str = prompt("请输入英文字符串");//abc
str = str.toLocaleUpperCase();
alert(str); //ABC
</script>
toLowerCase():大写字母转化为小写字母
<script>
//大写转小写
var str = prompt("请输入英文字符串");//ABC
str = str.toLowerCase();
alert(str); //abc
</script>
trim()方法:去掉字符串首尾的空格符
<script>
var str =" 请输入英文字符串 ";
str = str.trim();
alert(str);
</script>
split(x):字符串的分割。用字符串“x”进行分割。分割之后是一个数组
数组有一个toString方法,将数组转换成字符串,元素之间用逗号隔开
<script>
var a = "a b c";
var result = a.split(" ");
alert(result);//["a","b","c"]
</script>
9.2日期
定义:
//var d = new Date();
var d = new Date(2017,3,22,8,30,22);
不给参数,定义的日期为执行那一刻的系统的日期
当然也可以指定年月日时分秒参数,但是要特别注意的是月从0开始,即0表示1月。
修改日期:
SetYear、setMonth、setDate……
获取日期分量
getYear、getMonth、
getMilliseconds是获取毫秒分量
getTime获取的是从1970-1-1 00:00:00至指定日期所经历的毫秒数。
日期转换成字符串
var d = new Date(2017,3,22,8,30,22,500);
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>");
9.3正则表达式
为什么要用正则表达式:因为查找是一个比较复杂的东西,我们更加准确快速找到自己想要的。
什么是正则表达式:他可以定义一种字符串逻辑的公式,来和要查找的字符串做匹配,找到自己想要的。
定义规则:
1、使用:/规则/修饰符(一般用) 修饰符可以省略
var patt = /hellocooldog/i;
2、新创建一个RegExp对象,给两个参数分别为规则和修饰符 修饰符可以省略
var patt1 = new RegExp("/hello/","i")
常用的修饰符:
i:不区分大小写
var str = "HelloCoolDog";
var patt1 = /hellocooldog/i;
var result = str.replace(patt1);
document.write(result);
//i 不区分大小写
g:全局匹配,从找到的下一个下标开始再继续往后查找,一直到字符串结束。
var patt2 = /o/g;
//全局查找
var result = str.replace(patt2,"O");
document.write(result);
字符模式:
[Hel]:从里面字符中任意一个去匹配字符串
[0-9]:匹配任意一个数字。
var patt = /[0-9]/g;
[a-z]:匹配所有小写字母。
var patt = /[a-z]/g;
[A-Z]:匹配所有大写字母。
var patt = /[A-Z]/g;
(a|x):匹配a或者x,a也能用[]来代替
var str = "1H2elo3lo4C5o6o7l8D9og";
var patt2 = ([a-z]|[A-Z]);
常用的元字符:
\w:单词字符 包括所有字母和数字和下划线,w代表word的缩写。
var patt = /\w/g;//word
\s:空格 包括所有字母和数字和下划线,s代表sp的缩写。
var patt = /\s/g;//s代表space空格的缩写
var result = str.replace(patt,"&");
\d : 数字 digital的缩写
var patt = /\d/;//Digital的缩写 代表数字
常用的量词:
o+: 找到一个或者多个o
var patt = /o+/;
o*: 找到0个或者多个o
var patt1 = /oo*/g;//匹配0个或者多个
o?: 找到0个或者1个
var patt2 = /oo?/g;//匹配0个或者1个
o{3}:指定具体的个数只有3个
var patt = /o{2}/g;//指定了o的个数
o{2,3}:指定一个有范围的区间最少2个最多3个
var patt1 = /o{2,3}/g;//指定至少2个最多3个
o{2,}:最少2个
var patt2 = /o{2,}/g;//最少2个
^: 必须以后面的内容开头
$: 以什么内容结束
RegExp常用的两种方法:
Exec():返回的是找到符号正则表达式新的字符串
var str = "good afternoon";
var patt = /\w+/g;
var result = patt.exec(str);
document.write(result);
Test():返回的true或者false当字符串满足正则表达式时为true否则为false是找到符号正则表达式新的字符串
var str = prompt("请输入密码");
var patt = /([a-z]|[A-Z])\w{5,17}/;//校验不用加g
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.PI:获得π的值
Math.E:获得e的值
Math.pow(x,y):获得x的y次方
Math.sprt(x):获得x开根的值。
Math.abs(x): 获得x的绝对值
Math.floor(x):向下取整
Math.ceil(x):向上取整
Math.round(x):四舍五入
Math.random(x):产生0到1之间的随机数
Number对象的常用方法
toExponential():科学计数法表示,指数计数法。
var e = 1000000;
e = e.toExponential();
alert(e); //1e+6
toFixed():保留x位小数,并把数字转换为字符串
var e = 1.123;
e = e.toFixed();
alert(e); //1.12
toPrecision(x):将数字保留x位,并返回的是字符串类型。
var e = 12.123456;
e = e.toPrecision(4);
alert(e); //
// alert(typeof (e));