js校验总结(总结中)

 

 

 

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

你可能感兴趣的:(正则表达式)