由于项目需要,所以今天编写了如下的几个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中处理日期的基本能力:比较日期大小、验证日期格式以及判断两个日期是否在同一个月份。这些函数可以很好地帮助开发者在Web应用中进行日期相关的逻辑处理,从而提高应用程序的功能性和...
在本文中,我们将深入探讨`Ext`框架中的`dateField`扩展,特别是在允许用户选择不同时间范围方面的能力,如年月日、年月、年或仅月。`Ext`是Sencha公司开发的一个强大的JavaScript应用框架,常用于构建富客户端Web...
在JavaScript中,获取当前时间向前推三个月的方法是通过创建一个新的`Date`对象,然后修改其月份属性来实现的。在JavaScript的`Date`对象中,月份是从0开始的,因此1月是0,2月是1,依此类推,12月是11。所以,当...
1. **表单验证:** 在表单提交前检查日期是否有效。 2. **数据记录:** 自动记录用户的操作时间。 3. **日历应用:** 实现动态显示当前日期的功能。 通过以上知识点的学习,开发者可以更好地理解和应用JavaScript及...
使用时请将下面的javascript代码存到一个单一的js文件中。 1、表单要求 (this)"> 将对表单中的所有以下类型的域依次验证,所有验证是去除了前导和后缀空格的,要注意是区分大小写的。 2、空值验证 表单中任意域...
JavaScript时间控件是一种在网页上实现用户交互式选择日期和时间的工具,它通常用于表单填写、事件预订或任何需要精确时间输入的场景。在本文中,我们将深入探讨如何使用JavaScript来创建一个完整的年月日时分秒选择...
- 年月格式:验证如`YYYY-MM`或`YYYY-MM`的日期。 - 时分格式:验证如`HH:MM`的时间。 2. **表单类** - 空值验证:在表单元素失去焦点时,通过`onblur`事件和正则`/^\s+|\s+$/g`检查输入值是否为空。 - 多行...
对于出生日期的验证,最常见的格式是“YYYY-MM-DD”。下面是一个简单的示例,展示如何使用正则表达式来验证这种格式的日期: ```javascript var birth_date = "1980-01-01"; if (/^(\d{4})-(\d{1,2})-(\d{1,2})$/....
- **2.4 年月格式验证**:验证输入的日期是否符合“YYYY-MM”或“YYYY-M”的格式。 - **2.5 小时分钟格式验证**:验证输入的时间是否符合“HH:mm”的格式。 3. **表单类** - **3.1 全部表单项非空验证**:检查...
在JavaScript开发过程中,日期验证是常见且重要的功能之一。本文将详细介绍如何利用两行核心代码实现日期的有效验证,并深入探讨这段代码背后的原理及其应用场景。 ### 一、代码解析 首先,我们来看一下给出的核心...
3. **验证输入**:确保用户的输入有效,例如,检查小时是否在0-23之间,分钟和秒在0-59之间。 4. **格式化日期**:根据需要将日期和时间转换为指定的字符串格式,如"YYYY-MM-DD HH:mm:ss"。 5. **交互反馈**:将...
该函数验证日期字符串`theStr`是否符合YYYY-MM-DD的格式,并进一步检查年月日的合法性。 #### 5. 数字验证 ```javascript function fucCheckNum(num) { var i, j, strTemp; strTemp = "0123456789"; if (num....
- **完整日期时间格式验证**:使用函数`strDateTime()`验证日期时间格式是否为YYYY-MM-DD HH:mm:ss形式,其中HH:mm:ss同上,YYYY-MM-DD也同上。 - 验证时同样会创建一个`Date`对象,并检查年月日以及小时分钟秒是否...
2. 验证用户输入,确保选择的日期在有效范围内。 3. 使用CSS自定义样式,使日期选择器与网站设计保持一致。 4. 考虑不同浏览器的兼容性问题,尤其是对不支持`<input type="date">`的老版本浏览器。 5. 如果需要,...
**功能**: 验证用户输入的日期是否符合 `YYYY-MM-DD` 的格式。 **正则表达式**: ```regex /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/ ``` 其中: - `\d{1,4}` 匹配1到4位数字。 - `(-|\/)` 匹配 `-` 或 `/`。 - `\2` ...
虽然C#提供了强大的日期处理库,例如`DateTime`和`Calendar`类,但在某些特定场景下,如需要对输入的文本进行日期格式的验证时,正则表达式则显得尤为重要。 #### 2. 日期的规则 ##### 2.1 日期的有效范围 - **...
format: 'yyyy-mm', // 设置日期格式为年-月 viewMode: 'years', // 只显示年份和月份 minViewMode: 'months', // 最小视图模式为月份 autoclose: true, // 选择后自动关闭 language: 'zh-CN' // 设置为中文...