9.1字符串
字符串的定义:定义一个变量,然后将字符串赋值给它
var str=”abc123”
访问字符串里面的字符:a.数组方式(str[i])。
b:字符串特有方式:charAt()。
(2)查找
a:数组方式:indexof
b:字符串特有方式:search()方法:传入参数(要搜索的子串),返回子串的第一个字符在父串的下标。这个方法对大小写敏感。
a:数组方式slice()方法:
b:字符串特有方式:substr(start,length):传入参数(第一个参数,开始截取的下标,如果没有第二个参数,它就一直取到最后)(第二个参数,截取的长度)
substring(start,end):传入两个参数,第一个参数,开始截取下标,第二个参数截取结束得下标。
(4)替换
a:数组方式:splice
replace()替换,传入的参数(第一个参数被替换的子串)(第二个参数是新的子串)。
var str ="hello world";
str = str.replace("world ","china");
alert(str);
to.UpperCase():小写字母转化为大写字母。
var str = prompt("请输入一个英文字符串");//abc
str = str.toUpperCase();
alert(str);//ABC
to.LowerCase():大字母转化为小写字母。
var str = prompt("请输入一个英文字符串");//ABC
str = str.toLowerCase();
alert(str);//abc
trim()方法:去除字符串首尾的空格符
var str =" 请输入一个英文字符串 ";
alert(str);
str= str.trim();
alert(str);
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.sqrt(x):获得x开跟的值。
Math.abs(x):获得x的绝对值。
Math.floor(x):x向下取整。
Math.ceil(x):x向上取整。
Math.round(x):四舍五入。
Math.random():产生0到1之间的随机数。
.Number对象
to.Exponential():科学计数法表示,指数计数法。
var e = 100000;
e = e.toExponential();
alert(e);//1e+6
to.Fixed(x):保留x为小数,并把数字转化为字符串。
var e = 1.123;
e = e.toFixed(2);
alert(e);//1.12
toPrecision:将数字截取都四保留x位,并返回的是字符串类型。
var e = 12.245698;
e = e.toPrecision(4);
alert(typeof (e));//12.25
split():字符串的分割线,用字符串“x”分割之后是一个数组。将数组转换成一个字符串
var a = "a b c";
var result = a.split("");
alert(result);
9.2日期
//var d = new Date
var d = new Date(2017,3,32,8.20,22);
alert(d.tokocalString);
document.write(d.toLocaleDateString());
不给参数,定义的日期为执行这条命令时那一刻的系统日期
当然也可以指定月日时分秒参数,但是特别要注意月从0开始,即0表示1月
修改日期:
setYear、setMonth、setDate……
获取日期分量
getYear、getMonth
getMilliseconds是毫秒分量
getTime获取的是从1970-1-1 00:00:00至指定日期所经历的毫秒数。
日期转换成字符串
日期运算
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 patt = new RegExp("//hello","i");
常用修饰符
i:不区分大小写
var str = "HelloCoolDog";
var patt = /HelloCoolDog/i;
//不区分大小写
var patt1 = new RegExp("HELLO","i");
//全局查找
var patt2 = /o/g
var result = str.replace(patt2,"0");
document.write(result);
g:全局匹配,从找到的下一个下标开始再继续往后查找,一直到字符串结束
//全局查找
var patt2 = /o/g
var result = str.replace(patt2,"0");
document.write(result);
字符模式
[Hel]:把字符串中任意一个去匹配字符串。
[0-9]:比配任意一个数字
var patt1 = /[0-9]/g;
var result = str.match(patt1);
document.write(result);
[a-z]:比配所有的小写字母
[A-Z]:比配所有大写字母
(a|x):匹配a或者x,a也能用[]来代替
var str = "1H2e3l4l5o6C7o8o9lDog";
var patt2 = ([a-z]|[A-Z]);
元字符:
常用的元字符
\w:单词字符 包括所有的字母和数字和下划线w是word的缩写
var patt = /\w/g;//space
\S:空格 s是space的缩写
var str = " 1H2e3l4l5o6C7o8o9lDog";
var patt = /\s/g;//space
var result=str.replace(patt,"%");
document.write(result);
\d:数字 digital的缩写
var patt = /\d/g;//space
常用的量词
n+:找到一个或者 多个n
var patt = /\w+/;
o*:找到0个或者多个n
var patt1 =/oo*/g;//匹配0个或者多个
o?:找到0个或者一个n
var patt2 =/oo?/g;//匹配0个或着一个
o{3}:指定具体的个数
var patt = /o{2}/g;//指定了o的个数
o{2,3}:指定一个有范围的区间最少2个最多3个
var patt1 = /o{2,3}/g;//指定至少2个最多三个
o{2,}:最少两个
var patt2 = /o{2,}/g;//最少两个
^:必须以后面的内容开头
$:必须以后面的内容结尾
RegExp常用的两种方法:
exec():返回的是找到符合正则表达式新的字符串
var patt = /\w+/;
var str = "good afternoon";
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}$/
if(patt.test(str)){
alert("密码正确")
}
else{
alert("密码错误")
}