`
直线曲线
  • 浏览: 47044 次
  • 性别: 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;
            	};
分享到:
评论

相关推荐

    javascript控制年月日输入

    在JavaScript编程中,控制用户输入的年月日是一项常见的需求,尤其在开发表单验证或者日期选择器时。本文将详细解析如何使用JavaScript实现这一功能,并结合提供的描述和标签,探讨一个自定义的函数以及一个额外的...

    js验证日期格式,比较日期大小,判断两日期年月是否相同借鉴.pdf

    以上三个函数提供了JavaScript中处理日期的基本能力:比较日期大小、验证日期格式以及判断两个日期是否在同一个月份。这些函数可以很好地帮助开发者在Web应用中进行日期相关的逻辑处理,从而提高应用程序的功能性和...

    Ext扩展dateField时间控件,可以选择年月日、年月、年、月

    在本文中,我们将深入探讨`Ext`框架中的`dateField`扩展,特别是在允许用户选择不同时间范围方面的能力,如年月日、年月、年或仅月。`Ext`是Sencha公司开发的一个强大的JavaScript应用框架,常用于构建富客户端Web...

    JavaScript获取当前时间向前推三个月的方法示例

    在JavaScript中,获取当前时间向前推三个月的方法是通过创建一个新的`Date`对象,然后修改其月份属性来实现的。在JavaScript的`Date`对象中,月份是从0开始的,因此1月是0,2月是1,依此类推,12月是11。所以,当...

    在一个input框中显示当前的年月日,当鼠标放上去时变换为当前时间显示

    1. **表单验证:** 在表单提交前检查日期是否有效。 2. **数据记录:** 自动记录用户的操作时间。 3. **日历应用:** 实现动态显示当前日期的功能。 通过以上知识点的学习,开发者可以更好地理解和应用JavaScript及...

    通用JS表单验证

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

    JS时间控件(年月日时分秒)

    JavaScript时间控件是一种在网页上实现用户交互式选择日期和时间的工具,它通常用于表单填写、事件预订或任何需要精确时间输入的场景。在本文中,我们将深入探讨如何使用JavaScript来创建一个完整的年月日时分秒选择...

    在B_S开发中经常用到的javaScript技术

    - 年月格式:验证如`YYYY-MM`或`YYYY-MM`的日期。 - 时分格式:验证如`HH:MM`的时间。 2. **表单类** - 空值验证:在表单元素失去焦点时,通过`onblur`事件和正则`/^\s+|\s+$/g`检查输入值是否为空。 - 多行...

    身份证号,出生日期等的js正则表达式验证

    对于出生日期的验证,最常见的格式是“YYYY-MM-DD”。下面是一个简单的示例,展示如何使用正则表达式来验证这种格式的日期: ```javascript var birth_date = "1980-01-01"; if (/^(\d{4})-(\d{1,2})-(\d{1,2})$/....

    b s开发常用javaScript技术第1 4页.docx

    - **2.4 年月格式验证**:验证输入的日期是否符合“YYYY-MM”或“YYYY-M”的格式。 - **2.5 小时分钟格式验证**:验证输入的时间是否符合“HH:mm”的格式。 3. **表单类** - **3.1 全部表单项非空验证**:检查...

    两行代码搞定 JavaScript 的日期验证

    在JavaScript开发过程中,日期验证是常见且重要的功能之一。本文将详细介绍如何利用两行核心代码实现日期的有效验证,并深入探讨这段代码背后的原理及其应用场景。 ### 一、代码解析 首先,我们来看一下给出的核心...

    JS日期选择器带时分秒

    3. **验证输入**:确保用户的输入有效,例如,检查小时是否在0-23之间,分钟和秒在0-59之间。 4. **格式化日期**:根据需要将日期和时间转换为指定的字符串格式,如"YYYY-MM-DD HH:mm:ss"。 5. **交互反馈**:将...

    Javascript判断用户输入的合法性的函数

    该函数验证日期字符串`theStr`是否符合YYYY-MM-DD的格式,并进一步检查年月日的合法性。 #### 5. 数字验证 ```javascript function fucCheckNum(num) { var i, j, strTemp; strTemp = "0123456789"; if (num....

    JavaScript

    - **完整日期时间格式验证**:使用函数`strDateTime()`验证日期时间格式是否为YYYY-MM-DD HH:mm:ss形式,其中HH:mm:ss同上,YYYY-MM-DD也同上。 - 验证时同样会创建一个`Date`对象,并检查年月日以及小时分钟秒是否...

    Javascript实现的日期下拉菜单

    2. 验证用户输入,确保选择的日期在有效范围内。 3. 使用CSS自定义样式,使日期选择器与网站设计保持一致。 4. 考虑不同浏览器的兼容性问题,尤其是对不支持`&lt;input type="date"&gt;`的老版本浏览器。 5. 如果需要,...

    正则表达js验证范例PDF

    **功能**: 验证用户输入的日期是否符合 `YYYY-MM-DD` 的格式。 **正则表达式**: ```regex /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/ ``` 其中: - `\d{1,4}` 匹配1到4位数字。 - `(-|\/)` 匹配 `-` 或 `/`。 - `\2` ...

    C# 最全的日期正则表达式,没有之一

    虽然C#提供了强大的日期处理库,例如`DateTime`和`Calendar`类,但在某些特定场景下,如需要对输入的文本进行日期格式的验证时,正则表达式则显得尤为重要。 #### 2. 日期的规则 ##### 2.1 日期的有效范围 - **...

    jquery年月时间控件

    format: 'yyyy-mm', // 设置日期格式为年-月 viewMode: 'years', // 只显示年份和月份 minViewMode: 'months', // 最小视图模式为月份 autoclose: true, // 选择后自动关闭 language: 'zh-CN' // 设置为中文...

Global site tag (gtag.js) - Google Analytics