用js实现的:获取前n月YYYYMM,验证输入年月是否在当前月的前n月内,验证YYYYMM格式的年月,简单的验证电话号
用js实现的:获取前n月YYYYMM,验证输入年月是否在当前月的前n月内,验证YYYYMM格式的年月,简单的验证电话号码
由于项目需要,所以今天编写了如下的几个js方法。
本来是需要取得前1个月的年月表示和验证是否在前5个月内,但是为了今后关于“n”的需求,所以对已完成的js方法做了改进。
//验证年月格式为yyyymmvar verifyDateType = function(date){var re = new RegExp("^[1-9]{1}[0-9]{3}((0[1-9]{1})|(1[0-2]{1}))$");if(!re.test(date)){return false;}return true;}; //验证输入年月是否为前n个月 var verifyMonIsPreN = function (n,pdate){ var date = pdate.toString(); //输入的年 var inputYear = date.substring(0,4); //输入的月 var inputMon = date.substring(4,date.length); //当前月var nowMon = new Date().getMonth()+1;//当前年var nowYear = new Date().getFullYear();if(((nowYear - inputYear) == 0 && inputMon < nowMon && inputMon > 0 && nowMon - n <= inputMon)){//同一年时,要求输入月应小于当前月,当前月的前n月不大于输入月。return true;}else if((nowYear - inputYear) == 1 && (nowMon - 1) < n && inputMon > (12-(n-(nowMon-1)))){//不同年时,要求当前年是输入年的后一年,当前年以过去的月数应小于n,输入年应大于某个月,该月为:当前年以过m个月,需在向前数n-m个月。return true;}else{return false;} }; //获取前n月的年月var preMonth = function(n){var datePre = new Date();var nowYearPre = datePre.getFullYear();var nowMonthPre = datePre.getMonth()+1;var preMonth = 0;var result = "";//需要向前nyear个年var nyear = Math.floor(n/12);//需要向前nmon个月var nmon = n%12;//向前月数大于等于当前月时,向前年数加一。if(nmon >= nowMonthPre){nyear++;}//向前月数小于等于今年已过月数if(nmon <= nowMonthPre-1){preMonth = nowMonthPre-nmon;}else{//今天已过m个月,需再向前去n-m个月。preMonth = 12 - (nmon-(nowMonthPre-1)) + 1;}result = (nowYearPre-nyear)+""+getMonInMM(preMonth);return result;};//返回MM格式的月var getMonInMM = function(mon){if(mon < 10){return "0"+mon;}else{return mon;}}; //验证电话号码 var verifyTel = function(){ var tel = $service_no.val(); if(tel == ""){ showDialog(2,"请输入号码",null); return false; } var re = new RegExp("^[+]{0,1}([0-9]{3,4})?([-]{0,1})?([0-9]{7,8})+$"); if(!re.test(tel)){ showDialog(2,"号码格式错误",null); $service_no.val(""); return false; } return true; }; 