`
直线曲线
  • 浏览: 46122 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

用js实现的:获取前n月YYYYMM,验证输入年月是否在当前月的前n月内,验证YYYYMM格式的年月,简单的验证电话号码

    博客分类:
  • js
阅读更多
由于项目需要,所以今天编写了如下的几个js方法。
本来是需要取得前1个月的年月表示和验证是否在前5个月内,但是为了今后关于“n”的需求,所以对已完成的js方法做了改进。
//验证年月格式为yyyymm
		var 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;
            	};
分享到:
评论

相关推荐

    JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss"

    JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss",取时间格式的方法和函数

    java代码验证日期格式正则表达式(包含闰年验证)带注释

    * @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...

    js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)

    下面小编就为大家分享一篇js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法),具有很的参考价值,希望对大家有所帮助

    Java正则校验日期格式包括所有

    "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" "yyyy/MM","yyyy/MM/dd","yyyy/MM/dd HH:mm:ss" "yyyy_MM","yyyy_MM_dd",...

    正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式

    主要介绍了正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式的方法,是一个比较简单实用的正则替换应用,对于怎能则表达式的学习具有一定的参考借鉴价值,需要的朋友可以参考下

    oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别

    oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别 1.java 1)分钟用mm表示 24小时制: java(区分大小写):yyyy-MM-dd HH:mm:ss 12小时制: java(区分大小写):yyyy-MM-dd hh:mm:ss 2)...

    js将日期格式转换为YYYY-MM-DD HH:MM:SS

    1、百度不少js将日期格式转换为YYYY-MM-DD HH:MM:SS 。可是都略显复杂,所以这里总结了一下,自己找到的,方便自己学习和使用。 方法一: 项目源码: $(#createTime).text((new Date(jumpParams.createDate.time)....

    js获取当前年月日-YYYYmmDD格式的实现代码

    下面小编就为大家带来一篇js获取当前年月日-YYYYmmDD格式的实现代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: ...

    js获取当前时间yyyy-mm-dd-hh-mm-ss

    js获取当前时间yyyymmddhhmmss

    csdn上涉及年月yyyy-MM格式的日期控件汇总

    想找个比较好的只显示年月的日期控件,结果上csdn上找了大堆,各有千秋。我还是中意上面年可下拉选择,也可左右按钮增加减少。下面直接4x3显示12个月份直接选择的格式。当然还有年-月下来12条显示,上面按钮控制年的...

    JS验证日期的格式YYYY-mm-dd 具体实现

    介绍了JS对日期格式的验证实例,有需要的朋友可以参考一下

    EXCEL日期格式:YYYYMMDD转换成yyyy-mm-dd

    EXCEL中经常遇到YYYYMMDD存储的日期需要转为YYYY-MM-DD格式.

    Java日期工具类

    5、获取当前时间往前推一个月的时间 6、获取上个月("MMM yyyy") 7、获取上个月("yyyymm") 8、获取上个月("yyyy-mm") 9、获取中文月份的当前日期 10、获取当前日期减去参数天数之后的日期 11、判断传入年份是否为闰年...

    DateFormatUtils时间获取及格式化工具类

    时间格式化及获取特殊时间工具类 主要包含但不限于: 当前星期的第一天 当前月最后一天 获取时间到今日结束还剩多少秒 ...获取当前时间的前n天(时间格式自定义格式) 将日期字符串转为指定格式的日期字符串

    Android常用字符串匹配正则

    isDate : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 isIP : 验证IP地址 isMatch : 判断是否匹配正则 getMatches : 获取正则匹配的部分 getSplits : 获取正则匹配分组 getReplaceFirst: 替换正则匹配的第一部分 ...

    通用JS表单验证

    使用时请将下面的javascript代码存到一个单一的js文件中。 1、表单要求 (this)"&gt; 将对表单中的所有以下类型的域依次验证,所有验证是去除了前导和后缀空格的,要注意是区分大小写的。 2、空值验证 表单中任意域...

    js(正则表达式)验证时间格式

    可以验证 ','、'-'、'/'不同格式的日期 还可以加上 时间 2010-02-2 12:02:2 进行有效验证 使用正则表达式

    工具类之RegexUtils

    isDate : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 isIP : 验证IP地址 isMatch : 判断是否匹配正则 getMatches : 获取正则匹配的部分 getSplits : 获取正则匹配分组 getReplaceFirst : 替换正则匹配的第一部分 ...

    java 时间转换工具

    年月日格式可以和下面的交换 yyyyMMdd HH yyyyMMdd HHmm yyyyMMdd HH mm yyyyMMdd HH:mm yyyyMMdd HH:mm yyyyMMdd HH mm ss yyyyMMdd HH:mm:ss yyyyMMdd HH:mm:ss MM/dd MM-dd MM.dd HH HHmm HH mm HH:mm HH:mm...

Global site tag (gtag.js) - Google Analytics