Date范例和Regex范例

Date 范例

var now = new Date();

在挪用Date组织函数而不通报参数的情况下,新建立的对象自动获得当前日期和时候

特定的日期和时候建立日期对象,必需传入示意该日期的毫秒数(即从UTC时候1970年1月1日午
夜起至该日期止经由的毫秒数)

Date.parse()要领吸收一个示意日期的字符串参数,然后尝试依据这个字符串返回响应日期的毫秒数

要为2004年5月25日建立一个日期对象,能够运用下面的代码:

var someDate = new Date(Date.parse("May 25, 2004")); 

Date.parse()要领的字符串不能示意日期,那末它会返回NaN。实际上,假如直接将表
示日期的字符串通报给Date组织函数,也会在背景挪用Date.parse()。

换句话说,下面的代码与前面的例子是等价的:

var someDate = new Date("May 25, 2004"); 

这行代码将会获得与前面雷同的日期对象

Data.now()
返回示意挪用这个要领时的日期和时候的毫秒数

Date范例也重写了toLocaleString()、toString()和valueOf()

toLocaleString()、toString()

这两个要领在差别的浏览器中返回的日期和时候花样可谓天差地别。

valueOf()要领,则根本不返回字符串,而是返回日期的毫秒示意

RegExp 范例

var expression = /pattern/ flags ;

g:示意全局(global)情势,即情势将被运用于一切字符串,而非在发明第一个婚配项时马上住手;

 i:示意不辨别大小写(case-insensitive)情势,即在肯定婚配项时疏忽情势与字符串的大小写;

 m:示意多行(multiline)情势,即在抵达一行文本末端时还会继承查找下一行中是不是存在与情势婚配的项。

一切元字符都必需转义。
正则表达式中的元字符包括:( [ { \ ^ $ | ) ? * + .]}

能够运用字面量定义的任何表达式,
能够运用组织函数来定义,

var pattern1 = /[bc]at/i; 

var pattern2 = new RegExp("[bc]at", "i"); 

RegExp的每一个实例都具有以下属性,经由过程这些属性能够获得有关情势的种种信息。

 global:布尔值,示意是不是设置了g标志。
 ignoreCase:布尔值,示意是不是设置了i标志。
 lastIndex:整数,示意最先搜刮下一个婚配项的字符位置,从0算起。
 multiline:布尔值,示意是不是设置了m标志。
 source:正则表达式的字符串示意,根据字面量情势而非传入组织函数中的字符串情势返回。

    var pattern1 = /\[bc\]at/i; 
    alert(pattern1.global); //false 
    alert(pattern1.ignoreCase); //true 
    alert(pattern1.multiline); //false 
    alert(pattern1.lastIndex); //0 
    alert(pattern1.source); //"\[bc\]at" 

RegExp对象的重要要领是exec(),

该要领是特地为捕捉组而设想的。
exec()接收一个参数,即要运用情势的字符串,
然后返回包括第一个婚配项信息的数组;或许在没有婚配项的情况下返回null。
返回的数组虽然是Array的实例,但包括两个分外的属性:index和input。
个中,index示意婚配项在字符串中的位置,
而input示意运用正则表达式的字符串。

在数组中,第一项是与全部情势婚配的字符串,
其他项是与情势中的捕捉组婚配的字符串(假如情势中没有捕捉组,则该数组只包括一项)。
请看下面的例子。
var text = “mom and dad and baby”;
var pattern = /mom( and dad( and baby)?)?/gi;
var matches = pattern.exec(text);
console.log(matches.index); // 0
console.log(matches.input); // “mom and dad and baby”
console.log(matches[0]); // “mom and dad and baby”
console.log(matches[1]); // ” and dad and baby”
console.log(matches[2]); // ” and baby”

关于exec()要领而言,纵然在情势中设置了全局标志(g),它每次也只会返回一个婚配项。在不
设置全局标志的情况下,在统一个字符串上屡次挪用exec()将一直返回第一个婚配项的信息。而在设
置全局标志的情况下,每次挪用exec()则都会在字符串中继承查找新婚配项,以下面的例子所示。

var text = "cat, bat, sat, fat"; 
var pattern1 = /.at/; 
var matches = pattern1.exec(text); 
alert(matches.index); //0 
alert(matches[0]); //cat 
alert(pattern1.lastIndex); //0 
matches = pattern1.exec(text); 
alert(matches.index); //0 
alert(matches[0]); //cat 
alert(pattern1.lastIndex); //0 


var pattern2 = /.at/g; 
var matches = pattern2.exec(text); 
alert(matches.index);  //0 
alert(matches[0]); //cat 
alert(pattern2.lastIndex); //3 

matches = pattern2.exec(text); 
alert(matches.index); //5 
alert(matches[0]); //bat 
alert(pattern2.lastIndex); //8 
    原文作者:gecko23
    原文地址: https://segmentfault.com/a/1190000000724946
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞