jQuery中校驗(yàn)時(shí)間格式的正則表達(dá)式小結(jié)
代碼中用到了jQuery,傳入的參數(shù)是jQuery選擇的input對(duì)象.原理:先用正則匹配,再提取時(shí)分秒,看其是否在正常的范圍內(nèi)。
/**
* 檢測(cè)時(shí)間是否符合格式
* @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("時(shí)間格式錯(cuò)誤");
}
return result;
}
例2
直接使用js+正則表達(dá)式來(lái)實(shí)例
<!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("抱歉,您輸入的日期格式有誤,正確格式應(yīng)為"2012-01-01".");
}
}
</script>
</html>
jquery驗(yàn)證時(shí)間
驗(yàn)證時(shí)間的正則表達(dá)式集合
//日期格式y(tǒng)yyy
PatternsDict.date_y= /^(\d{4})$/;
//日期格式y(tǒng)yyy-mm
PatternsDict.date_ym= /^(\d{4})-(0\d{1}|1[0-2])$/;
//日期格式y(tǒng)yyy-mm-dd
PatternsDict.date_ymd= /^(\d{4})-(0\d{1}|1[0-2])-(0\d{1}|[12]\d{1}|3[01])$/;
//時(shí)間格式hh
PatternsDict.time_h=/^(0\d{1}|1\d{1}|2[0-3])$/;
//時(shí)間格式hh:mm
PatternsDict.time_hm=/^(0\d{1}|1\d{1}|2[0-3]):([0-5]\d{1})$/;
//時(shí)間格式hh:mm:ss
PatternsDict.time_hms=/^(0\d{1}|1\d{1}|2[0-3]):[0-5]\d{1}:([0-5]\d{1})$/;
格式為時(shí)間,就是說(shuō)前兩位都不能少,而且不能大于23,后面的時(shí)和分不能大于59,必須寫在16:02:01而不能為16:2:1
[0-2][0-3]:[0-5][0-9]:[0-5][0-9]
用CompareValidator
operator設(shè)成DateTypeCheck
type設(shè)成Date
這里是判斷YYYY-MM-DD這種格式的,基本上把閏年和2月等的情況都考慮進(jìn)去了,不過(guò)我已經(jīng)忘了在哪里找到的。
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$
下面的是加了時(shí)間驗(yàn)證的
^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$
【aspx頁(yè)面內(nèi):<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
顯示為: 2004-8-11 19:44:28
我只想要:2004-8-11 】
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
應(yīng)該如何改?
【格式化日期】
取出來(lái),一般是object
((DateTime)objectFromDB).ToString("yyyy-MM-dd");
A.以下正確的輸入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|
(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|([1-2][0-9])))))
|(\d{2}(([02468][1235679])|([13579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])
|(3[01])))|(((0?[469])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\s(((0?[1-9])|(1[0-2]))\:([0-5][0-9])((\s)|(\:([0-5][0-9])\s))([AM|PM|am|pm]{2,2})))?$
B.以下正確的輸入格式:[0001-12-31], [9999 09 30], [2002/03/03]
^\d{4}[\-\/\s]?((((0[13578])|(1[02]))[\-\/\s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[\-\/\s]?(([0-2][0-9])|(30)))|(02[\-\/\s]?[0-2][0-9]))$
- jQuery實(shí)現(xiàn) RadioButton做必選校驗(yàn)功能
- jQuery Validate 校驗(yàn)多個(gè)相同name的方法
- jquery 正整數(shù)數(shù)字校驗(yàn)正則表達(dá)式
- 基于jQuery.validate及Bootstrap的tooltip開(kāi)發(fā)氣泡樣式的表單校驗(yàn)組件思路詳解
- jQuery easyui的validatebox校驗(yàn)規(guī)則擴(kuò)展及easyui校驗(yàn)框validatebox用法
- jQuery插件Validate實(shí)現(xiàn)自定義校驗(yàn)結(jié)果樣式
- jquery對(duì)輸入框內(nèi)容的數(shù)字校驗(yàn)代碼實(shí)例
相關(guān)文章
js實(shí)現(xiàn)仿京東2級(jí)菜單效果(帶延時(shí)功能)
這篇文章主要介紹了js實(shí)現(xiàn)仿京東2級(jí)菜單效果,涉及jquery鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素屬性及延時(shí)顯示的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08jQuery plugin animsition使用小結(jié)
本文通過(guò)實(shí)例代碼給大家分享了jQuery plugin animsition用法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧2017-09-09jQuery oLoader實(shí)現(xiàn)的加載圖片和頁(yè)面效果
我們使用jQuery的ajax在頁(yè)面中就像使用iframe一樣加載其他頁(yè)面內(nèi)容,今天我給大家分享一個(gè)名叫jQuery oLoader的插件,該插件還集成了oPageLoader,可以輕松實(shí)現(xiàn)加載圖片和頁(yè)面的漂亮效果。2015-03-03jQuery學(xué)習(xí)心得總結(jié)(必看篇)
下面小編就為大家?guī)?lái)一篇jQuery學(xué)習(xí)心得總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06