javascript
javascript校验2
* 判斷字符串是否符合指定的正則表達式 */ Java代碼? function f_check_formatStr(obj)??
{?? ??? var str = obj.value;?? ??? var dtype = obj.eos_datatype;??
??? var regu = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));??? //指定的正則表達式?? ??? var re = new RegExp(regu);?? ??? if(re.test(str))??
??????? return true;?? ??? f_alert(obj , "不符合指定的正則表達式要求");?? ??? return false;????? }?? ??
function f_check_formatStr(obj) { var str = obj.value; var dtype = obj.eos_datatype; var regu = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //指定的正則表達式 var re = new RegExp(regu); if(re.test(str)) ? return true; f_alert(obj , "不符合指定的正則表達式要求"); return false; } /*
功能:判斷是否為日期(格式:yyyy年MM月dd日,yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd)
提示信息:未輸入或輸入的日期格式錯誤! 使用:f_check_date(obj) 返回:bool */ Java代碼?
function f_check_date(obj)?? {?? ??? var date = Trim(obj.value);??
??? var dtype = obj.eos_datatype;?? ??? var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));? //日期格式?? ??? var year,month,day,datePat,matchArray;?? ? ??? if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format))?? ??????? datePat = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/;?? ??? else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)$/.test(format))?? ??????? datePat = /^(\d{4})年(\d{1,2})月(\d{1,2})日$/;?? ??? else if(format=="yyyyMMdd")??
??????? datePat = /^(\d{4})(\d{2})(\d{2})$/;?? ??? else? ??? {??
??????? f_alert(obj,"日期格式不對");?? ??????? return false;?? ??? }??
??? matchArray = date.match(datePat);?? ??? if(matchArray == null)???
??? {?? ??????? f_alert(obj,"日期長度不對,或日期中有非數字符號");?? ??????? return false;?? ??? }?? ??? if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format))?? ??? {?? ??????? year = matchArray[1];?? ??????? month = matchArray[3];?? ??????? day = matchArray[4];?? ??? } else? ??? {?? ??????? year = matchArray[1];??
??????? month = matchArray[2];?? ??????? day = matchArray[3];?? ??? }?? ??? if (month < 1 || month > 12)?? ??? {???????????????
??????? f_alert(obj,"月份應該為1到12的整數");?? ??????? return false;?? ??? }?? ??? if (day < 1 || day > 31)?? ??? {?? ??????? f_alert(obj,"每個月的天數應該為1到31的整數");?? ??????? return false;?? ??? }???????
??? if ((month==4 || month==6 || month==9 || month==11) && day==31)?? ??? {?? ??????? f_alert(obj,"該月不存在31號");?? ??????? return false;?? ??? }??????? ??? if (month==2)?? ??? {?? ??????? var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));?? ??????? if (day>29)?? ??????? {????????????????? ??????????? f_alert(obj,"2月最多有29天");?? ??????????? return false;?? ??????? }??
??????? if ((day==29) && (!isleap))?? ??????? {?????????????????
??????????? f_alert(obj,"閏年2月才有29天");?? ??????????? return false;??
??????? }?? ??? }?? ??? return true;?? }?? ??
function f_check_date(obj) { var date = Trim(obj.value); var dtype = obj.eos_datatype; var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式 var year,month,day,datePat,matchArray;
if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format)) ? datePat = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/; else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)$/.test(format)) ? datePat = /^(\d{4})年(\d{1,2})月(\d{1,2})日$/; else if(format=="yyyyMMdd") ? datePat = /^(\d{4})(\d{2})(\d{2})$/; else { ? f_alert(obj,"日期格式不對"); ? return false; } matchArray = date.match(datePat); if(matchArray == null)
{ ? f_alert(obj,"日期長度不對,或日期中有非數字符號"); ? return false; } if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format)) { ? year = matchArray[1]; ? month = matchArray[3]; ? day = matchArray[4]; } else { ? year = matchArray[1]; ? month = matchArray[2]; ? day = matchArray[3]; } if (month < 1 || month > 12) {????
? f_alert(obj,"月份應該為1到12的整數"); ? return false; } if (day < 1 || day > 31) { ? f_alert(obj,"每個月的天數應該為1到31的整數"); ? return false; }???? if ((month==4 || month==6 || month==9 || month==11) && day==31) { ? f_alert(obj,"該月不存在31號"); ? return false; }???? if (month==2) { ? var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0)); ? if (day>29) ? {??? ?? f_alert(obj,"2月最多有29天"); ?? return false; ? } ? if ((day==29) && (!isleap)) ? {??? ?? f_alert(obj,"閏年2月才有29天"); ?? return false; ? } } return true; } /*
功能:校驗的格式為yyyy年MM月dd日HH時mm分ss秒,yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss,yyyyMMddHHmmss 提示信息:未輸入或輸入的時間格式錯誤 使用:f_check_time(obj)
返回:bool */ Java代碼? function f_check_time(obj)?? {?? ??? var time = Trim(obj.value);?? ??? var dtype = obj.eos_datatype;?? ??? var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));? //日期格式??
??? var datePat,matchArray,year,month,day,hour,minute,second;?? ?
??? if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2}) (HH:mm:ss)$/.test(format))??
??????? datePat = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;?? ??? else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)(HH時mm分ss秒)$/.test(format))?? ??????? datePat = /^(\d{4})年(\d{1,2})月(\d{1,2})日(\d{1,2})時(\d{1,2})分(\d{1,2})秒$/;??
??? else if(format == "yyyyMMddHHmmss")?? ??????? datePat = /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;?? ??? else? ??? {??
??????? f_alert(obj,"日期格式不對");?? ??????? return false;?? ??? }??
??? matchArray = time.match(datePat);?? ??? if(matchArray == null)???
??? {?? ??????? f_alert(obj,"日期長度不對,或日期中有非數字符號");?? ??????? return false;?? ??? }?? ??? if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2}) (HH:mm:ss)$/.test(format))?? ??? {?? ??????? year = matchArray[1];??
??????? month = matchArray[3];?? ??????? day = matchArray[4];??
??????? hour = matchArray[5];?? ??????? minute = matchArray[6];??
??????? second = matchArray[7];?? ??? } else? ??? {?? ??????? year = matchArray[1];?? ??????? month = matchArray[2];?? ??????? day = matchArray[3];?? ??????? hour = matchArray[4];?? ??????? minute = matchArray[5];?? ??????? second = matchArray[6];?? ??? }?? ??? if (month < 1 || month > 12)?? ??? {??????????????? ??????? f_alert(obj,"月份應該為1到12的整數");?? ??????? return false;?? ??? }?? ??? if (day < 1 || day > 31)?? ??? {????????????? ??????? f_alert(obj,"每個月的天數應該為1到31的整數");?? ??????? return false;?? ??? }???????
??? if ((month==4 || month==6 || month==9 || month==11) && day==31)?? ??? {??????????? ??????? f_alert(obj,"該月不存在31號");??
??????? return false;?? ??? }??????? ??? if (month==2)?? ??? {??
??????? var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0));?? ??????? if (day>29)?? ??????? {?????????????????
??????????? f_alert(obj,"2月最多有29天");?? ??????????? return false;??
??????? }?? ??????? if ((day==29) && (!isleap))?? ??????? {????????????????? ??????????? f_alert(obj,"閏年2月才有29天");?? ??????????? return false;?? ??????? }?? ??? }?? ??? if(hour<0 || hour>23)?? ??? {?? ??????? f_alert(obj,"小時應該是0到23的整數");?? ??????? return false;?? ??? }?? ??? if(minute<0 || minute>59)?? ??? {?? ??????? f_alert(obj,"分應該是0到59的整數");?? ??????? return false;??
??? }?? ??? if(second<0 || second>59)?? ??? {?? ??????? f_alert(obj,"秒應該是0到59的整數");?? ??????? return false;?? ??? }?? ??? return true;?? }?? ??
function f_check_time(obj) { var time = Trim(obj.value); var dtype = obj.eos_datatype; var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式 var datePat,matchArray,year,month,day,hour,minute,second;
if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2}) (HH:mm:ss)$/.test(format)) ? datePat = /^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; else if(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)(HH時mm分ss秒)$/.test(format)) ? datePat = /^(\d{4})年(\d{1,2})月(\d{1,2})日(\d{1,2})時(\d{1,2})分(\d{1,2})秒$/; else if(format == "yyyyMMddHHmmss") ? datePat = /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/; else { ? f_alert(obj,"日期格式不對"); ? return false; } matchArray = time.match(datePat); if(matchArray == null)
{ ? f_alert(obj,"日期長度不對,或日期中有非數字符號"); ? return false; } if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2}) (HH:mm:ss)$/.test(format)) { ? year = matchArray[1]; ? month = matchArray[3]; ? day = matchArray[4]; ? hour = matchArray[5]; ? minute = matchArray[6]; ? second = matchArray[7]; } else { ? year = matchArray[1]; ? month = matchArray[2]; ? day = matchArray[3]; ? hour = matchArray[4]; ? minute = matchArray[5]; ? second = matchArray[6]; } if (month < 1 || month > 12) {????
? f_alert(obj,"月份應該為1到12的整數"); ? return false; } if (day < 1 || day > 31) {?? ? f_alert(obj,"每個月的天數應該為1到31的整數"); ? return false; }???? if ((month==4 || month==6 || month==9 || month==11) && day==31) {??? ? f_alert(obj,"該月不存在31號"); ? return false; }???? if (month==2) { ? var isleap=(year % 4==0 && (year % 100 !=0 || year % 400==0)); ? if (day>29) ? {??? ?? f_alert(obj,"2月最多有29天"); ?? return false; ? } ? if ((day==29) && (!isleap)) ? {??? ?? f_alert(obj,"閏年2月才有29天"); ?? return false; ? } } if(hour<0 || hour>23) { ? f_alert(obj,"小時應該是0到23的整數"); ? return false; } if(minute<0 || minute>59) { ? f_alert(obj,"分應該是0到59的整數"); ? return false; } if(second<0 || second>59) { ? f_alert(obj,"秒應該是0到59的整數"); ? return false; } ??? return true; } /*判斷當前對象是否可見*/ Java代碼?
function isVisible(obj){?? ??? var visAtt,disAtt;?? ??? try{??
??????? disAtt=obj.style.display;?? ??????? visAtt=obj.style.visibility;?? ??? }catch(e){}?? ??? if(disAtt=="none" || visAtt=="hidden")?? ??????? return false;?? ??? return true;??
}?? ??
function isVisible(obj){ var visAtt,disAtt; try{ ? disAtt=obj.style.display; ? visAtt=obj.style.visibility; }catch(e){} if(disAtt=="none" || visAtt=="hidden") ? return false; return true; } /*判斷當前對象及其父對象是否可見*/ Java代碼? function checkPrVis(obj){?? ??? var pr=obj.parentNode;?? ??? do{?? ??????? if(pr == undefined || pr == "undefined") return true;?? ??????? else{??
??????????? if(!isVisible(pr)) return false;?? ??????? }?? ??? }while(pr=pr.parentNode);?? ??? return true;?? }?? ??
function checkPrVis(obj){ var pr=obj.parentNode; do{ ? if(pr == undefined || pr == "undefined") return true; ? else{ ?? if(!isVisible(pr)) return false; ? } }while(pr=pr.parentNode); return true; } /** * 檢測字符串是否為空 */ Java代碼? function isnull(str)?? {?? ??? var i;?? ??? if(str.length == 0)?? ??????? return true;?? ??? for (i=0;i<str.length;i++)?? ??? {?? ??????? if (str.charAt(i)!=' ')??? ??????????? return false;?? ??? }?? ??? return true;?? }?? ??
function isnull(str) { ??? var i; ??? if(str.length == 0) ? return true; ??? for (i=0;i<str.length;i++) ??? { ??????? if (str.charAt(i)!=' ') ?? return false; ??? } ??? return true; } /** * 檢測指定文本框輸入是否合法。 * 如果用戶輸入的內容有錯,則彈出提示對話框, * 同時將焦點置于該文本框上,并且該文本框前面 * 會出現一個警告圖標(輸入正確后會自動去掉)。 */ Java代碼?
function checkInput(object)?? {?? ??? var image;?? ??? var i;??
??? var length;?? ? ??? if(object.eos_maxsize + "" != "undefined") length = object.eos_maxsize;?? ??? else length = 0;?? ? ??? if (object.eos_isnull=="true" && isnull(object.value))? return true;??
? ??? /* 長度校驗 */? ??? if(length != 0 && strlen(object.value) > parseInt(length)) {?? ??????????? f_alert(object, "超出最大長度" + length);??
??????????? return false;?? ??? }??? ??? /* 數據類型校驗 */? ??? else {?? ??????? if (object.eos_datatype + "" != "undefined")?? ??????? {????????? ? ??????????? var dtype = object.eos_datatype;??
??????????? var objName = object.name;?? ??????????? //如果類型名后面帶有括號,則視括號前面的字符串為校驗類型?? ??????????? if(dtype.indexOf("(") != -1)??
??????????????? dtype = dtype.substring(0,dtype.indexOf("("));??
??????????? //根據頁面元素的校驗類型進行校驗?? ??????????? try{?? ??????????????? if(eval("f_check_" + dtype + "(object)") != true)?? ??????????????????? return false;?? ??????????? }catch(e){return true;}?? ??????????? /*? 如果form中存在name前半部分相同,并且同時存在以"min"和"max"結尾的表單域,? ??????????????? 那么視為按區間查詢。即"min"結尾的表單域的值要小于等于"max"結尾的表單域的值。 */? ??????????? if(objName.substring((objName.length-3),objName.length)=="min")??
??????????? {?? ??????????????? var objMaxName = objName.substring(0, (objName.length-3)) + "max";?? ??????????????? if(document.getElementById(objMaxName) != undefined && document.getElementById(objMaxName) != "undefined" )?? ??????????????? {??
??????????????????? if(checkIntervalObjs(object, document.getElementById(objMaxName)) != true)?? ??????????????????????? return false;????????????????????? ??????????????? }?? ??????????? }????????????? ??????? }?? ??? }?? ??? return true;?? }?? ??
function checkInput(object) { var image; var i; var length;
if(object.eos_maxsize + "" != "undefined") length = object.eos_maxsize; else length = 0;
if (object.eos_isnull=="true" && isnull(object.value)) return true;
/* 長度校驗 */ if(length != 0 && strlen(object.value) > parseInt(length)) { ?? f_alert(object, "超出最大長度" + length); ?? return false; } /* 數據類型校驗 */ else { ? if (object.eos_datatype + "" != "undefined") ? {?
?? var dtype = object.eos_datatype; ?? var objName = object.name; ?? //如果類型名后面帶有括號,則視括號前面的字符串為校驗類型 ?? if(dtype.indexOf("(") != -1) ??? dtype = dtype.substring(0,dtype.indexOf("(")); ?? //根據頁面元素的校驗類型進行校驗 ?? try{ ??? if(eval("f_check_" + dtype + "(object)") != true) ???? return false; ?? }catch(e){return true;} ?? /* 如果form中存在name前半部分相同,并且同時存在以"min"和"max"結尾的表單域, ??? 那么視為按區間查詢。即"min"結尾的表單域的值要小于等于"max"結尾的表單域的值。 */ ?? if(objName.substring((objName.length-3),objName.length)=="min") ?? { ??? var objMaxName = objName.substring(0, (objName.length-3)) + "max"; ??? if(document.getElementById(objMaxName) != undefined && document.getElementById(objMaxName) != "undefined" ) ??? { ???? if(checkIntervalObjs(object, document.getElementById(objMaxName)) != true) ????? return false;???? ??? } ?? }?? ? } } return true; } /* 檢測表單中所有輸入項的正確性,一般用于表單的onsubmit事件 */ Java代碼? function checkForm(myform)??
{?? ??? var i;?? ??? for (i=0;i<myform.elements.length;i++)??
??? {?? ??????? /* 非自定義屬性的元素不予理睬 */??????? ??????? if (myform.elements[i].eos_displayname + "" == "undefined") continue;?? ??????? /* 非空校驗 */? ??????? if (myform.elements[i].eos_isnull=="false" && isnull(myform.elements[i].value)){?? ??????????? f_alert(myform.elements[i],"不能為空");?? ??????????? return false;??
??????? }????????? ??????? /* 數據類型校驗 */? ??????? if (checkInput(myform.elements[i])==false)?? ??????????? return false;????????????????? ??? }?? ??? return true;?? }?? ??
function checkForm(myform) { var i; for (i=0;i<myform.elements.length;i++) { ???? /* 非自定義屬性的元素不予理睬 */? ? if (myform.elements[i].eos_displayname + "" == "undefined") continue; ? /* 非空校驗 */ ? if (myform.elements[i].eos_isnull=="false" && isnull(myform.elements[i].value)){ ?? f_alert(myform.elements[i],"不能為空"); ?? return false; ? }? ? /* 數據類型校驗 */ ? if (checkInput(myform.elements[i])==false) ?? return false;??? } return true; } /** * 校驗兩個表單域數據的大小,目前只允許比較日期和數字。 * @param obj1 小值表單域
* @param obj2 大值表單域 */ Java代碼? function checkIntervalObjs(obj1 , obj2)?? {????? ??? var caption1 = obj1.getAttribute("eos_displayname");?? ??? var caption2 = obj2.getAttribute("eos_displayname");?? ??? var val1 = parseFloat(obj1.value);?? ??? var val2 = parseFloat(obj2.value);?? ??? // 非自定義屬性的元素不予理睬?? ??? if (obj1.eos_displayname + "" == "undefined" || obj2.eos_displayname + "" == "undefined") {?? ??????? return false;??
??? }?? ??? // 日期類型的比較?? ??? if(f_check_date(obj1) == true && f_check_date(obj2) == true){?? ??????? var dtype = obj1.eos_datatype;?? ??????? var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));? //日期格式?? ??????? val1 = getDateByFormat(obj1.value, format);?? ??????? dtype = obj2.eos_datatype;?? ??????? format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));? //日期格式?? ??????? val2 = getDateByFormat(obj2.value, format);?? ??????? if(val1 > val2){??
??????? obj2.select();?? ??????? if(isVisible(obj) && checkPrVis(obj))?? ??????????? obj2.focus();?? ??????? alert(caption1 + "的起始日期不能大于其終止日期!");?? ??????? return false;?? ??????? }?? ??? }??
??? // 數字類型的比較?? ??? if((isNaN(val1) && !isnull(val1)) || (isNaN(val2) && !isnull(val2))){?? ??????? alert(caption1 + "的值不全為數字則不能比較!");?? ??????? return false;?? ??? }?? ??? if(val1 > val2){?? ??????? obj2.select();?? ??????? if(isVisible(obj) && checkPrVis(obj))?? ??????????? obj2.focus();?? ??????? alert(caption1 + "的起始值不能大于其終止值!");?? ??????? return false;?? ??? }?? ??? return true;?? }?? ??
function checkIntervalObjs(obj1 , obj2) { var caption1 = obj1.getAttribute("eos_displayname"); var caption2 = obj2.getAttribute("eos_displayname"); var val1 = parseFloat(obj1.value); var val2 = parseFloat(obj2.value); // 非自定義屬性的元素不予理睬 if (obj1.eos_displayname + "" == "undefined" || obj2.eos_displayname + "" == "undefined") { ? return false; } // 日期類型的比較 if(f_check_date(obj1) == true && f_check_date(obj2) == true){ ? var dtype = obj1.eos_datatype; ? var format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式 ? val1 = getDateByFormat(obj1.value, format); ? dtype = obj2.eos_datatype; ? format = dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")); //日期格式 ? val2 = getDateByFormat(obj2.value, format); ? if(val1 > val2){ ? obj2.select(); ? if(isVisible(obj) && checkPrVis(obj)) ?? obj2.focus(); ? alert(caption1 + "的起始日期不能大于其終止日期!"); ? return false; ? } } // 數字類型的比較 if((isNaN(val1) && !isnull(val1)) || (isNaN(val2) && !isnull(val2))){ ? alert(caption1 + "的值不全為數字則不能比較!"); ? return false; } if(val1 > val2){ ? obj2.select(); ? if(isVisible(obj) && checkPrVis(obj)) ?? obj2.focus(); ? alert(caption1 + "的起始值不能大于其終止值!"); ? return false; } return true; }
/*根據日期格式,將字符串轉換成Date對象。 格式:yyyy-年,MM-月,dd-日,HH-時,mm-分,ss-秒。
(格式必須寫全,例如:yy-M-d,是不允許的,否則返回null;格式與實際數據不符也返回null。) 默認格式:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd。*/ Java代碼? function getDateByFormat(str){?? ??? var dateReg,format;?? ??? var y,M,d,H,m,s,yi,Mi,di,Hi,mi,si;?? ??? if((arguments[1] + "") == "undefined") format = "yyyy-MM-dd HH:mm:ss";?? ??? else format = arguments[1];?? ??? yi = format.indexOf("yyyy");?? ??? Mi = format.indexOf("MM");?? ??? di = format.indexOf("dd");?? ??? Hi = format.indexOf("HH");?? ??? mi = format.indexOf("mm");?? ??? si = format.indexOf("ss");?? ??? if(yi == -1 || Mi == -1 || di == -1) return null;?? ??? else{?? ??????? y = parseInt(str.substring(yi, yi+4));??
??????? M = parseInt(str.substring(Mi, Mi+2));?? ??????? d = parseInt(str.substring(di, di+2));?? ??? }?? ??? if(isNaN(y) || isNaN(M) || isNaN(d)) return null;?? ??? if(Hi == -1 || mi == -1 || si == -1) return new Date(y, M-1, d);?? ??? else{?? ??????? H = str.substring(Hi, Hi+4);?? ??????? m = str.substring(mi, mi+2);?? ??????? s = str.substring(si, si+2);?? ??? }?? ??? if(isNaN(parseInt(y)) || isNaN(parseInt(M)) || isNaN(parseInt(d))) return new Date(y, M-1, d);?? ??? else return new Date(y, M-1, d,H, m, s);?? }?? ??
function getDateByFormat(str){ var dateReg,format; var y,M,d,H,m,s,yi,Mi,di,Hi,mi,si; if((arguments[1] + "") == "undefined") format = "yyyy-MM-dd HH:mm:ss"; else format = arguments[1]; yi = format.indexOf("yyyy"); Mi = format.indexOf("MM"); di = format.indexOf("dd"); Hi = format.indexOf("HH"); mi = format.indexOf("mm"); si = format.indexOf("ss"); if(yi == -1 || Mi == -1 || di == -1) return null; else{ ? y = parseInt(str.substring(yi, yi+4)); ? M = parseInt(str.substring(Mi, Mi+2)); ? d = parseInt(str.substring(di, di+2)); } if(isNaN(y) || isNaN(M) || isNaN(d)) return null; if(Hi == -1 || mi == -1 || si == -1) return new Date(y, M-1, d); else{ ? H = str.substring(Hi, Hi+4); ? m = str.substring(mi, mi+2); ? s = str.substring(si, si+2); } if(isNaN(parseInt(y)) || isNaN(parseInt(M)) || isNaN(parseInt(d))) return new Date(y, M-1, d); else return new Date(y, M-1, d,H, m, s); }
轉載于:https://www.cnblogs.com/wokao100000/archive/2012/11/14/2770023.html
總結
以上是生活随笔為你收集整理的javascript校验2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雅虎年底升级IPv6标准 100万用户恐
- 下一篇: [JavaScript] 正则表达式