PS:join()数组转串,split()串转数组
1、test():在字符串查找符合正则的内容,如果查找到返回true,反之返回false
用法:正则.test(字符串)
2、search():在字符串搜索符合正则的内容,找到就返回出现的位置index。如果有多个相匹配的,只会返回第一个匹配的位置。搜索失败返回-1
用法:字符串.search(正则)
3、match():在字符串搜索符合正则的内容,成功返回内容(数组格式),失败返回null。
用法:字符串.match(正则)
4、replace():查找符合正则的内容,替换成对应字符串。返回替换后的内容
用法: 字符串.replace(正则,‘替换内容’)
parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
练习题1:验证日期格式是否正确。日期格式都是2018-12-14,四位数-两位数-两位数
var regex = /^d{4}-d{2}-d{2}$/;
如采用正则 var regex = /^d{4}-d{2}-d{2}$/; 判断日期是否成立的方法,用parse()看是否能返回时间戳,方法如下:
var oDate = document.querySelector('#date');
var oBtn = document.querySelector('#btn');
oBtn.onclick=function(){
var regex = /^d{4}-d{2}-d{2}$/;
var dateVal = oDate.value;
if(regex.test(dateVal)){
console.log(Date.parse(dateVal))//格式成立返回时间毫秒数:1546214400000 否则 NaN
}
}
正则完整判断,因为首先月份是0-12,日期是0-31.而不是任意的数字了,所以如下:
var regex = /^d{4}-(0[1-9]|1[0-2])-(0[1-9]|1[1-9]|2[1-9]|3[0-1])$/;
以上没有排除2月等不包含31号的