前端工程师技能总结之ECMAScript篇(六)日期对象和正则表达式

本文深入探讨了JavaScript中日期对象的使用方法,包括创建、获取年月日时分秒,以及格式化日期。同时,详述了正则表达式的应用,包括基本语法、匹配规则和常见用例,如电子邮件格式验证。

目录

/*日期对象*/

/*练习:写一个函数:传入年月日时分秒

/*正则表达式 regExp

/*方法1:值为主,规则为次,用值去匹配规则

/*方法2:规则为主,值为次,用规则去匹配值

/*正则表达式的不同情况

* 必须是两个字符,第一个字符是0-9,第二个字符是a-zA-Z*/

/*第一个字符以英文开头,后面跟数字,不限多少位*/

/*第一个字符以数字开头,后面是英文,至少5位

/*[^a]除了a之外都能输入*/

/*简写方法:

样例

/*()子表达式


/*日期对象*/

var d=new Date();//系统当前时间

// d=new Date(2001,0,15,8,3,50);// 月份是从0开始 年月日时分秒

console.log(d);

console.log("创建日期对象"+d);

console.log("获取年份"+d.getFullYear());

console.log("获取距离1900年有多少年"+d.getYear());

console.log("获取月份"+d.getMonth());

console.log("获取星期"+d.getDay());

console.log("获取日期"+d.getDate());

console.log("获取时"+d.getHours());

console.log("获取分"+d.getMinutes());

console.log("获取秒"+d.getSeconds());

console.log("显示系统语言的日期方式"+d.toLocalString());

 

/*练习:写一个函数:传入年月日时分秒

*如果没有传入的情况下,默认使用系统的时间

* 要以

* XXXX年XX月XX日 HH时MM分SS秒

* 返回给调用者*/

 

function test() {

var d=new Date();

console.log(arguments.length);

if(arguments.length==0){

document.write(d.getFullYear()+"年"+(d.getMonth()+1)+"月"+d.getDate()+"日");

}else{

document.write(arguments[0]+"年"+arguments[1]+"月");

}

 

}

test(2010,11,9,11,6,5);

// test()

/*正则表达式 regExp

* 语法:/ ^这里写规则 $/ */

var reg1=/^abc$/;

var text1="abce";

 

/*方法1:值为主,规则为次,用值去匹配规则

* 字符.match(规则)*/

var result=text1.match(reg1);

console.log(result);//如果匹配,返回测试的字符串,如果不匹配返回null

 

/*方法2:规则为主,值为次,用规则去匹配值

* 规则.test(值)*/

result=reg1.test(text1);

console.log(result);//匹配返回true,否则返回false

 

/*正则表达式的不同情况

* 必须是两个字符,第一个字符是0-9,第二个字符是a-zA-Z*/

var reg2=/^[0-9][a-zA-Z]$/;

var text2="0a";

console.log(reg2.test(text2));

 

/*第一个字符以英文开头,后面跟数字,不限多少位*/

var reg3=/^[a-zA-Z][0-9]+$/;

var text3="a12399999999999999999999999999999999";

console.log(reg3.test(text3));

 

/*第一个字符以数字开头,后面是英文,至少5位

* {5,} 代表至少5位

* {5,8} 至少5位,最多8位

* {5} 只能是5位*/

var reg4=/^[0-9][a-zA-Z]{5}$/;

var text4="0aaaaaa";

console.log(reg4.test(text4));

 

/*[^a]除了a之外都能输入*/

var reg5=/^[^a]$/;

var text5="1";

console.log(reg5.test(text5));

 

/*简写方法:

* \d 代表数字 \D 代表除了数字

* \w 代表 a-zA-Z0-9 \W 除了a-zA-Z0-9

* \s 代表空格*/

var reg6=/^\D*$/;

var text6=1;

console.log(reg6.test(text6));

样例

/*hello@163.com*/

var regEmail=/^[a-zA-Z0-9]{1,8}@[a-zA-Z0-9]{1,}.[a-zA-Z]{2,}$/;

var email="hello@qq.com";

console.log(regEmail.test(email));

 

var str="1 plus 2 equals 3";

/*默认找到第一个数字就返回*/

var myResult=str.match(/\d/);

 

myResult=str.match(/\w/g);//返回数组,拿到所有匹配的数字

console.log(myResult);

 

/*()子表达式

* 字符串替换:replace("用正则表达式去匹配要替换的内容")

* $1代表子表达式(java)

* $2代表子表达式 (script)*/

var str2="javascript";

myResult=str2.replace(/(java)(script)/,"$2$1");

console.log(myResult);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值