//判斷日期是否合法function IsDate(oTextbox) { var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$"); var dateValue = oTextbox.value; if (!regex.test(dateValue)) { alert("日期有誤!"); dateValue = ""; this.focus(); return; }}
使用測試
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" ><head> <title></title> <script type="text/javascript" src="jQuery/JScript1.js"></script> <script type="text/javascript" src="jQuery/jquery-vsdoc.js"></script></head><body><input type="text" id="sDate" /><script type="text/javascript"> $("#sDate").blur(function() {IsDate($(this)[0]);})</script></body></html>