代码中用到了jQuery,传入的参数是jQuery选择的input对象.原理:先用正则匹配,再提取时分秒,看其是否在正常的范围内。
代码如下:
/**
* 检测时间是否符合格式
* @param {Object} timeTextBox
*/
function checkTime(timeTextBox){
var time = timeTextBox.val();
var regTime = /^([0-2][0-9]):([0-5][0-9]):([0-5][0-9])$/;
var result = false;
if (regTime.test(time)) {
if ((parseInt(RegExp.$1) < 24) && (parseInt(RegExp.$2) < 60) && (parseInt(RegExp.$3) < 60)) {
result = true;
}
}
if (result) {
$("#errmsg").html("");
}else {
timeTextBox.attr({
value: ""
});
timeTextBox.focus();
$("#errmsg").html("时间格式错误");
}
return result;
}
例2
直接使用js+正则表达式来实例
代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>
<body>
出生日期: <input id="birthday" name="birthday" type="text" value="" onBlur="checkDate();"/>
</body>
<script>
var DATE_FORMAT = /^[0-9]{4}-[0-1]?[0-9]{1}-[0-3]?[0-9]{1}$/;
function checkDate(){
var birthday = document.getElementById("birthday").value;
if(DATE_FORMAT.test(birthday)){
alert("您输入的日期格式正确");
} else {
alert("抱歉,您输入的日期格式有误,正确格式应为"2012-01-01".");
}
}
</script>
</html>
jquery验证时间
验证时间的正则表达式集合
//日期格式yyyy
PatternsDict.date_y= /^(/d{4})$/;
//日期格式yyyy-mm
PatternsDict.date_ym= /^(/d{4})-(0/d{1}|1[0-2])$/;
//日期格式yyyy-mm-dd
PatternsDict.date_ymd= /^(/d{4})-(0/d{1}|1[0-2])-(0/d{1}|[12]/d{1}|3[01])$/;
//时间格式hh
PatternsDict.time_h=/^(0/d{1}|1/d{1}|2[0-3])$/;
//时间格式hh:mm
PatternsDict.time_hm=/^(0/d{1}|1/d{1}|2[0-3]):([0-5]/d{1})$/;
新闻热点
疑难解答
图片精选