JS-4:字符串、正则、属性对象、日期对象

一.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: 指定起始位置

注意:

  1. 字符中字符的下标一经定义就不会再改变,
  2. lastIndexOf()的查找方向是【从后向前】找,找字符在字符串中最后一次出现的位置,返回下标。
  3. 指定字符大小写敏感。

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.方法:

  1. match(substr|RegExp) (文本字符串或正则表达式)
    根据指定的字符串或正则模式,查找字符串内容,返回数组,保存匹配结果。

  2. replace(substr|RegExp, newString)
    根据正则模式查找内容,并且使用newString替换。返回替换后的字符串。





二. RegExp 正则表达式

1. 正则表达式 Regular Expression

设置模式,匹配或验证字符串格式。

2. 创建正则

  1. var reg1 = /^\d{6}/ig;

  2. var reg2 = new RegExp("模式","修饰符");
    注意:元字符中的转义,在字符串表示时,需要多加一个,写成“\”。
    var reg3 = new RegExp("\\d{6}", "i");

3. 正则的属性 与 方法:

  1. 属性: lastIndex
    指定下一次匹配的起始索引,只有在设置了全局匹配才起作用。
    原则上,同一个正则表达式不要重复验证,lastIndex每次起始索引不同,会影响验证结果。
    但是,可以手动修改lastIndex为0,保证每次都从0位置开始查找匹配。

  2. 方法:
    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. 获取时间分量(重点)

  1. getFullYear( )
    获取当前日期对象中的年份信息(四位年份数字)

  2. getMonth( )
    获取日期对象中的月份信息,
    返回值: 0~11 对应12个月份,需要+1显示。

  3. getDate( )
    获取日期对象中的日子信息,
    返回值: 正常号数

  4. getDay( )
    获取日期对象中的星期信息,
    返回值:0~6 对应周日——周六。

  5. 获取时间
    getHours( ) 获取小时数
    getMinutes( ) 获取分钟数
    getSeconds( ) 获取秒数
    getMillisecondes( ) 获取毫秒数

    练习:
    获取系统日期时间:
    按照以下格式输出显示:
    xxxx 年 xx月 xx日 xx 时xx分xx秒 星期x

  6. 将日期对象转换为指定的字符串格式输出

    1. toString( );
    2. toLocaleString( );
      以本地日期格式输出:如:2018/11/20 下午5:22:50
    3. toLocaleDateString();
      如: 2018/11/20  
    4. toLocaleTimeString();  
      如: 下午5:22:50 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值