日期对象与正则对象


一、Date对象

1、Date对象

/**
 * Date对象
 * -在js中使用Date对象来表示一个时间
 * */
 //创建一个Date对象
 //直接使用构造函数创建一个Date对象,则会封装为当前代码执行的时间
 var d = new Date();
 //创建一个指定时间对象
 //需要在构造函数中传递一个表示时间的字符串作为参数
 //日期的格式 月份/日/年 时:分:秒
 var d2 = new Date("02/04/2011 11:10:30");
 console.log(d2);     

2、getDate()

/**
 * getDate()
 * -获取当前日期对象是几号(1-31)
 * */
 var date = d.getDate();
 //console.log("date ="+date);
              

3、getDay()

/**
 * getDay()
 * -获取当前日期对象时是周几(0-6)
 *  0表示周日
 *  1表示周一
 *  6表示周六
 * */
 var day = d2.getDay();
 //console.log("day ="+day);
               

4、getMonth()

/**
 * getMonth()
 * -可以获取当前时间对象月份,返回一个0-11的值
 * -0表示1月
 *  1表示的是2月
 *  11表示12月
 * */
var month = d2.getMonth();
//console.log("month ="+month);
                

5、getFullYear()

/**
 * getFullYear()
 * -获取我们当前日期对象的年份
 * */
 var year = d.getFullYear();
 console.log("year ="+year);
 /**
  * getYear()
  * -用getFullYear()方法代替
  * */

6、getTime() 获取时间戳

//创建Date对象
var d = new Date();
var d2 = new Date("02/04/2011 11:10:30");
/**
 * getTime()
 * -获取当前日期对象的时间戳
 * -时间戳,指的是从格林威治标准时间的1970年1月1日,0时0分0秒
 *  到当前日期所花费的毫秒数(1秒=1000毫秒)
 * -计算机底层在保存时间的时候使用的都是时间戳
 * */
 var time = d2.getTime();
 //console.log(time/1000/60/60/24/365);
 // var d3 = new Date("1/1/1970 0:0:0");
 // time = d3.getTime();
 // console.log(time);
 
 //利用时间戳来测试代码的执行的性能
 //获取当前的时间戳
 var start = Date.now();
 for(var i=0; i<100; i++){
     console.log(i);
 }
 var end = Date.now();
 console.log("执行了,"+(end - start)+"毫秒");

二、RegExp对象

正则表达式在JavaScript高级中已经写过,这里只介绍一些新的东西。正则对象速查表

1、正则对象

/**
 * 正则表达式
 * -邮件的规则:1.前面是手机号/qq号/用户名
 *            2.跟着一个@符
 *            3.163/126/qq
 *            4..com
 * -正则表达式用于定义一些字符串的规则
 *    计算机可以根据正则表达式,来检查一个字符串是否符合规则
 *    获取将字符串中符合规则的内容提取出来
 * */
 //创建正则表达式对象
 /**
  * 语法:var 变量 = new RegExp("正则表达式","匹配模式");
  * 使用typeof检查正则对象,会返回Object
  * 这个正则表达式可以用来检查一个字符串中是否含有a
  * 在构造函数中可以传递一个匹配模式作为第二个参数
  * 可以是: i 忽略大小写
  *         g 全局匹配模式
  * */
 var reg = new RegExp("bc","i");
 var str = "a";

2、test()

/**
 * 正则表达式方法:
 * test()
 * -使用这个方法,可以用来检查一个字符串是否符合正则表达式的规则
 *   如果符合则返回true,反之返回false
 * */
 var result = reg.test(str);
 //console.log(result);
 console.log(reg.test("bba"));

3、转义字符

**
 * 检查一个字符串中是否含有.
 *  . 表示任意字符
 * 在正则表达式中使用\作为转义字符
 * \.来表示.
 * \\来表示\
 * 
 * 注意:使用构造函数时,由于他的参数是一个字符串,而\是字符串中的转义字符
 *      如果使用\则需要使用\\来代替
 * */
 var reg = /\./;
 reg = /\\/;
 reg = new RegExp("\\\\");
 // console.log(reg.test("abc"));
 // console.log(reg);

4、字符串与正则

1、splict()

var str = "1a2b3c4d5e6f7";
/**
 * split()
 * -可以将一个字符串拆分为一个数组
 * -方法中可以传递一个正则表达式作为参数,
 *   这样方法会根据正则表达式去拆分字符串
 * */
 /**
  * 根据任意字母来将字符串拆分
  * */
 var result = str.split(/[A-z]/);    //[1,2,3,4,5...]

2、search()

/**
 * search()
 * -可以搜索字符串中是否含有指定内容
 * -如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到,返回-1
 * -他可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串
 * */
 str = "hello hello";
 /**
  * 搜索字符串中是否含有abc或aec或afc
  * */
 result = str.search(/a[bef]c/);  
console.log(result); //-1

3、match()

/**
 * match()
 * -可以根据正则表达式,从一个字符串中将符合条件的内容提取出来
 * -默认情况下我们的match只会找到第一个符合要求的内容,找到以后就停止检索
 *  可以设置正则表达式为全局匹配模式,这样就会匹配到所有内容
 *  可以为一个正则表达式设置多个匹配模式,且顺序无所谓
 * -match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果
 * */
 var str = "1a2a3a4a5e6f7A8B9C";
 result = str.match(/[a-z]/ig);
 //console.log(result[5]);
 console.log(result); // [a,a,a,a,e,f,A,B,C]

4、replace()

/**
 * replace()
 * -可以将字符串中指定内容替换为新的内容
 * -参数:1.被替换的内容,可以接受正则表达式作为参数
 *       2.新的内容
 * -默认只会替换第一个,
 * */
 //result = str.replace(/[a-z]/gi,"@_@");
 result = str.replace(/[a-z]/gi,"");
 console.log(result); // 123456789

文章作者: Yuukyou
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Yuukyou !
评论
  目录