<script>
function check(ss){
if (/\-0/.test(ss)) return false;
re=/^(\d{2})\-(\d{1,2})\-(\d{1,2})$/.exec(ss);
if (!re) return false;
return ((re[2]>0) && (re[2]<13) && (re[3]>0) && (re[3]<32))
}alert(check("99-08-01"))
alert(check("99-8-1"))
</script>
function check(ss){
if (/\-0/.test(ss)) return false;
re=/^(\d{2})\-(\d{1,2})\-(\d{1,2})$/.exec(ss);
if (!re) return false;
return ((re[2]>0) && (re[2]<13) && (re[3]>0) && (re[3]<32))
}alert(check("99-08-01"))
alert(check("99-8-1"))
</script>
解决方案 »
- 这个里面是滚动div的 li 能否改成table第二行开始滚动呢
- js怎么获得当前浏览器可视区域距页面最顶端的距离?
- 关于js和<%%>
- 请教:增加一个插入按钮,当选中DIV后单击插入按钮就相当于执行于该div的双击事件,以取代双击事件;
- js截取字符串,请高手帮忙
- 求助:如何解释这段代码??
- 能不能当鼠标经过一幅图片上面时,图片的border就变成=3
- DOJO的xhrGET发出请求,返回时整个页面
- 关于Select的option的问题!!!!!!!!!!!
- GGJJ救命!返回一个字串的第一个和最后一个字符的语句???
- 请教!如何初始让select控件不可见,点击一按钮后让其可见。
- 怎样最大化打开框架?
function strDate(str){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str
}
alert(strDate("2002-1-31"))
alert(strDate("2002-2-31"))
alert(strDate("2002-1-41"))
</script>
/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$//^ 和 $/是否为开始结尾符号。(\d{1,4})表示4个整数数字?
(-|\/)表示- 或者 /?
(\d{1,2}) 表示2个整数数字?
\2表示什么?
通过匹配,r获得一个4元的数组?从左往右为r[1],r[2],r[3],r[4]?
如此,r[3]就应该为月份,为何要减1 if(r==null)return false;
var d= new Date(r[1], r[3]-1,r[4]);
var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
return newStr==str