一.String 字符串
1.语法:
var str1 = "";
var str2 = new String("hellow");
2.属性和方法:
1.属性
length
: 获取字符串的长度(字符个数)
遍历字符串:
由于字符串也是类数组结构,每个字符都会分配下标,也可以按照数组访问元素的方式访问字符。
for(var i=0; i<str.length; i++){
console.log(strp[i])
}
2.常用方法
1. 转换大小写(英文字母)
toUpperCase( )
转换成大写字母,返回新的字符串
toLowerCase( )
转换成小写字母,返回新得字符串
练习:
模拟验证码操作:
1.创建数组,由数字,字母组成
2.生成随机4位验证码
随机下标:
1.[0,length)
2.取整
3.提示用户输入验证码
4.验证用户输入正确与否,返回提示信息
练习见: 02-lianxi.html
2. 获取指定字符
charCodeAt(index)
获取指定位置字符的unicode码值,参数缺省表示获取第一个字符的码值。
charAt(index)
获取指定下标位置的字符
3.检索字符串
获取指定字符的下标:
indexOf(value[,fromIndex])
参数:
value: 必填,指定查找字符
fromIndex: 可选项,指定起始位置
返回值:
若查找成功,返回第一次出现的下标;
若查找失败,返回-1,表示不存在
lastIndexOf(value[,fromIndex])
返回值:
返回指定字符最后一次出现的位置下标
参数:
value: 指定查找字符
fromIndex: 指定起始位置
注意:
- 字符中字符的下标一经定义就不会再改变,
- lastIndexOf()的查找方向是【从后向前】找,找字符在字符串中最后一次出现的位置,返回下标。
- 指定字符大小写敏感。
4.截取字符串
substring(startIndex, endIndex)
根据指定的下标开始截取,截取至endIndex(不包含)。
参数:[startIndex, endIndex)之间的子字符串 ,endIndex可以省略,省略时,截至字符串末尾。
返回: [startIndex, endIndex]之间的子字符串
练习:
1.截取邮箱中的用户名和服务商
如:zhangsan100@163.com
2.提取身份证信息(年月日)
5.分割字符串
split(seperator);
方法: 根据指定的符号(字符串中存在的)将字符串分割成若干个小字符串。
参数: 指定字符。
返回值: 数组,数组中存放若干个子字符串。
6.模式匹配:
1.结合正则表达式实现查询或替换字符串中的指定字符。
2.正则表达式
var reg1 = /\d{3,5}/;
var reg2 = /hello/;
模式修饰符:
i: ignore case 忽略大小写
g: global 全局匹配
例如: var reg3 = /你好/ig;
3.方法:
-
match(substr|RegExp)
(文本字符串或正则表达式)
根据指定的字符串或正则模式,查找字符串内容,返回数组,保存匹配结果。 -
replace(substr|RegExp, newString)
根据正则模式查找内容,并且使用newString替换。返回替换后的字符串。
二. RegExp 正则表达式
1. 正则表达式 Regular Expression
设置模式,匹配或验证字符串格式。
2. 创建正则
-
var reg1 = /^\d{6}/ig;
-
var reg2 = new RegExp("模式","修饰符");
注意:元字符中的转义,在字符串表示时,需要多加一个,写成“\”。
var reg3 = new RegExp("\\d{6}", "i");
3. 正则的属性 与 方法:
-
属性:
lastIndex
指定下一次匹配的起始索引,只有在设置了全局匹配才起作用。
原则上,同一个正则表达式不要重复验证,lastIndex每次起始索引不同,会影响验证结果。
但是,可以手动修改lastIndex为0,保证每次都从0位置开始查找匹配。 -
方法:
test(param)
参数: 要验证的字符串
返回值: true/false 表示字符串中是否包含满足正则模式的内容。
三. Math 数学对象
Math提供一系列数学方法。
1. 属性
数学常量:
Math.PI
: 圆周率/180deg
Math.E
: 自然对数
2. 方法 :
1.三角函数
Math.sin(deg) // 如: Math.sin(Math.PI/4) 表示求sin(45°)
Math.cos()
Math.tan()
注意: 参数为度数,可以使用Math.PI(180deg)来进行转换;
涉及小数,可能会存在误差。
2.计算函数
Math.sqrt(x); 对x开平方
Math.pow(x, y); 求x的y次方
Math.log(x); 求对数
3.数值函数(较常用)
Math.abs(x); 求x的绝对值
Math.max(n1, n2, n3...,n10); 求一组数据中的最大值
Math.min(n1, n2, n3) 求一组数据的最小值
Math.random( ) 获取[0,1]之间的随机数
Math.ceil(x) 对x向上取整
Math.floor(x) 对x向下取整,(舍弃小数位)
Math.round(x) 对x四舍五入取整数
四. date 日期对象
1. 提供获取客户端时间与日期的方法
2. 创建日期对象
var date1 = new Date(); //获取当前系统时间
var date2 = new Date("2018-11-11 10:10:10"); //根据指定的日期时间创建对象
3.方法:
1.设置或获取当前时间的毫秒数(了解)
getTime()
获取当前日期对象距离1970-01-01 00:00:00之间的毫秒数。
setTime(毫秒数)
根据指定的毫秒数,结合1970-01-01 00:00:00计算日期。
2. 获取时间分量(重点)
-
getFullYear( )
获取当前日期对象中的年份信息(四位年份数字) -
getMonth( )
获取日期对象中的月份信息,
返回值: 0~11 对应12个月份,需要+1显示。 -
getDate( )
获取日期对象中的日子信息,
返回值: 正常号数 -
getDay( )
获取日期对象中的星期信息,
返回值:0~6 对应周日——周六。 -
获取时间
getHours( ) 获取小时数
getMinutes( ) 获取分钟数
getSeconds( ) 获取秒数
getMillisecondes( ) 获取毫秒数练习:
获取系统日期时间:
按照以下格式输出显示:
xxxx 年 xx月 xx日 xx 时xx分xx秒 星期x -
将日期对象转换为指定的字符串格式输出
1. toString( );
2. toLocaleString( );
以本地日期格式输出:如:2018/11/20 下午5:22:50
3. toLocaleDateString();
如: 2018/11/20
4. toLocaleTimeString();
如: 下午5:22:50