//檢驗字串中是否包含1900-2050的日期子字串
var datereg_null_ymd=new regexp("(([2-9][0-9]|1[6-9])?[0-9]([-\/\.])?((1[0-2]|0?[1-9])([-\/\.])?(2[0-8]|1[0-9]|0?[1-9])|(1[0-2]|0?[13-9])([-\/\.])?(29|30)|(1[02]|0?[13578])([-\/\.])?(31))|((1[6-9]|[2-9][0-9])?(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)([-\/\.])?0?2([-\/\.])?(29))");
var datereg_nnull=new regexp("(([2-9][0-9]|1[6-9])[0-9]([-\/\.])?((1[0-2]|0?[1-9])([-\/\.])?(2[0-8]|1[0-9]|0?[1-9])|(1[0-2]|0?[13-9])([-\/\.])?(29|30)|(1[02]|0?[13578])([-\/\.])?(31))|((1[6-9]|[2-9][0-9])(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)([-\/\.])?0?2([-\/\.])?(29))");
var datereg_sep=new regexp("(([2-9][0-9]|1[6-9])?[0-9]([-\/\.])((1[0-2]|0?[1-9])([-\/\.])(2[0-8]|1[0-9]|0?[1-9])|(1[0-2]|0?[13-9])([-\/\.])(29|30)|(1[02]|0?[13578])([-\/\.])(31))|((1[6-9]|[2-9][0-9])?(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00)([-\/\.])0?2([-\/\.])(29))");
var datestr="sfdsffdsf987-12-28"; //"sfdsffdsf11987-12-28"; //"sfdsffdsf19987-12-28";
var r1=datereg_null_ymd.exec(datestr); //什麼都不確定時只能用這個,但效果不一定,比如1198會認為是11-9-8
var r2=datereg_nnull.exec(datestr); //不確定有分隔符但年四位時用這個
var r3=datereg_sep.exec(datestr); //確定有分隔符時最好使用這個
if(r1!=null)
if(r2!=null)
if(r3!=null)
是為了查詢字串中可能的日期,所以不是很嚴格,也可以在一定程度上用來檢驗日期字串:
var time1="1987-12-28";
var time2="1987/12/28";
var time3="87/12/28";
var time4="87.12.28";
var time5="87.1.09";
var time6="987.1.1";
var time7="255.126.3";
console.log(datereg_sep.test(time1));
console.log(datereg_sep.test(time2));
console.log(datereg_sep.test(time3));
console.log(datereg_sep.test(time4));
console.log(datereg_sep.test(time5));
console.log(datereg_sep.test(time6));
console.log(datereg_sep.test(time7)); //這個太不像話的false
JS正則匹配驗證表過式
匹配中文字元的正規表示式 u4e00 u9fa5 匹配雙位元組字元 包括漢字在內 x00 xff 匹配空行的正規表示式 n s r 匹配 html 標記的正規表示式 匹配首尾空格的正規表示式 s s 像vbscript 那樣的trim 函式 匹配email 位址的正規表示式 w w w w w w ...
js 正則匹配
isnumber 是否為數字 regexps.isnumber d d isint 是否為整形 regexps.isint d istime 是否為時間格式 regexps.istime d d d s d d d isdate 是否為日期格式 regexps.isdate d d d isemai...
js正則匹配
var childnodename childnodename val 自定義name只能輸入數字 字母或漢字 if childnodename var regex1 a za z a za z0 9 字母數字,字母開頭 var regex3 a za z0 9 字母數字下劃線 var regex4...