在先等一个日期的正则表达式
谁能帮写一个格式是820709
这样格式的一个正则表达式
问题点数:10、回复次数:2Top
1 楼wyhkgd(自由天神)回复于 2005-06-01 10:30:56 得分 5
<script language=javascript >
function isdate(dateStr)
{
var datePat = /^(\d{2})(\d{2})(\d{2})$/;
var matchArray = dateStr.match(datePat); // is the format ok?
if (matchArray == null) {
return false;
}
month = matchArray[2]; // parse date into variables
day = matchArray[3];
year = matchArray[1];
if (month < 1 || month > 12) { // check month range
return false;
}
if (day < 1 || day > 31) {
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
return false;
}
}
return true;
}
</script>
<form name=form1>
日期:<input name="date1">
<input value="确定" type=button onclick="alert(isdate(form1.date1.value))" >
</form>
Top
2 楼meizz(梅花雪)回复于 2005-06-01 10:32:22 得分 5
<script language=javascript>
String.prototype.isDate = function()
{
var r = this.match(/^(\d{1,2})(-|\/|)(\d{1,2})\2(\d{1,2})$/);
if(r==null)return false; var d = new Date(r[1], r[3]-1, r[4]);
return(d.getYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
alert("820709".isDate());
alert("820741".isDate());
</script>Top




