2. 不同构造的正则表达式形式也不一样(为了匹配 \ )!
alert(/\\/gi.test("\\")); alert(new RegExp("\\\\", "gi").test("\\"));
1. JS 日期时间校验(2009-10-21 15:32:21):
function isdatetime(str){ var a = str.match(/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/); if (a == null) return false; if ( a[2]>=13 || a[3]>=32 || a[4]>=24 || a[5]>=60 || a[6]>=60) return false; return true; }
这里我又发现一个问题,原来这样写
var reg1 = /^\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}$/;
和下面这样写的:
var reg2 = /^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
是不同的,就是多加了个括号,很重要,执行以下的结果是不同的,加括号是很有用 的,呵呵,
var str = "2009-08-02 23:13:13";
var a = str.match(reg1); alert(a); //结果:2009-08-02 23:13:13,我是这样写的,搞了半天,那个晕哪!
var a = str.match(reg2); alert(a); //结果:2009-08-02 23:13:13,2009,08,02,23,13,13