js正则校验日期格式和时间格式是否正确
一,前端jsp页面有一文本框输入时间 HH:mm:ss格式的 另一个文本框要求输入yyyymmdd格式的日期
时间:
由于未用到任何时间插件,只能通过js校验输入的时间是否正确,最简单的莫过于使用正则来校验了,
var regex = /^(([0-2][0-3])|([0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/;
var一个正则表达式,这个表达式检验的就是hh:mm:ss格式的字符串。
但是如果用户只输入10:20,而最后的 :00 省略掉,难道要提示用户重新输入吗?
NO,只需要改一下正则表达式即可。
var regexs = /^(([0-2][0-3])|([0-1][0-9])):[0-5][0-9]$/;
这个正则和上边的相比只是把最后的 :ss 给去掉了。
日期:
直接在js中通过Date对象来进行校验,但是这种方式不推荐使用,因为在java中Date date = new Date(yyyy,mm,dd);这个方法已经不推荐了。
二,校验
然后,我们就可以写js来校验了
//提交表单function submit(){//时间var time = form.time.value;var regex = /^(?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/;if(!regex.test(time)){var regexs = /^(?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]$/;if(!regexs.test(time)){alert("时间格式不正确,请输入正确格式如 10:20 或 10:20:20");form.time.focus();//获取焦点return;}form.time.value = time + ":00";}//日期var riqi = form.riqi.value;if(riqi != ''){var xxDate = new Date(riqi.substring(0,4),riqi.substring(4,6)-1,riqi.substring(6,8));if(riqi.substring(0,4) != xxDate.getFullYear() || riqi.substring(4,6) != xxDate.getMonth() || riqi.substring(6,8) != xxDate.getDate()){alert("日期格式不正确,");form.riqi.focus();//获取焦点return;
}}}
三,正则
在刚开始不太熟悉正则的时候我的js校验代码是介个样子的:
function isTime(timeStr){var parts;parts = timeStr.spilt(":");if(parts.length < 1){return false;}for(i=0;i<parts.length;i++){if(isNaN(parts[i])){return false;}}h = parts[0];m = parts[1];if(h<0||h>23){return false;}if(m<0||m>59){return false;}if(parts.length == 3){if(parts[2]<0 || parts[2]>59){return false;}}return true;
}
这段代码和上边的正则没有对比就没有伤害。
建议正则不太熟悉的去深入了解一下。
js正则校验日期格式和时间格式是否正确相关推荐
- js正则校验[{key:xx,val:xx}]格式
通过js正则表达式校验指定格式[{"key":"123","val":"123"},{"key":& ...
- js读取excel数据后的时间格式转换
用nodejs的"node-xlsx"库,获取excel的数据之后,里面的日期值全面变成了一个整数值.至于,怎么使用"node-xlsx"获取数据,代码: co ...
- 字符串格式化成时间格式_JAVA | 常用的日期/时间格式化方式
引言 我们在开发过程中,在数据库中经常会看到beginTime.updateTime和endTime这些字段,这些可能是为了记录业务操作的某个时间.日期等信息.特此,总结一些在代码中常用的日期.时 ...
- python日期,从int格式为时间格式
首先把int类型转为string,然后使用datetime.strptime(string, '%Y%m%d')转换即可 代码示例 import pandas as pddef string_to_d ...
- java定义日期格式_Java时间格式定义详解
概述 自己在使用Java日志格式的时候,发现不好定义.所以本篇文章的主要目的是收集一些常用的日志格式,解说每个字段代表的意思以及扩充部分Java常用的时间类. 重要参考文档 文章进度2018515 完 ...
- java 设置日期的格式_java时间格式大全
java.util.*; import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 * * @ ...
- js将时间戳转换成正常时间格式两种方法
//将时间戳转换成正常时间格式2 function timestampToTime(timestamp) { var date = new Date(timestamp * 1 ...
- js正则示例 日期格式化 分辨率 浏览器内核 布局
js正则 private validateTemperature(rule, value, callback): void {const ruleTemperature = new RegExp(/^ ...
- oracle如何查询时间格式,oracle时间格式讨论
1. oracle对时间格式的数据存贮 Oracle以特定的存储格式来存储时间,占7个字节,与查询显示的时间无关.存贮的时间包括年月日时分秒,最小精度为秒,不存贮秒以下的时间单位.因此在一些前台支持毫 ...
最新文章
- 网络管理工具与IT运维管理平台的差别
- 数据库的垂直切分和水平切分
- No projects are found to import
- mysql服务自动关闭的解决
- tensorflow图像数据处理
- angularjs(显示和隐身) 依赖注入
- LeetCode Array 最长回文子串-数组和string题目
- 一起写框架-控制反转(Ioc)概述(二)
- WSUS提示“内容文件下载失败”的修复方法
- python竖线_6.1. re模块搜索时要注意竖线|的使用
- 漫画研发之九:浑水好摸鱼
- 云化要求下,数据库架构的演进
- JavaScript内存溢出
- 图形图像-无中生有Photoshop CS6背景素材技法ps教程 [超多案例]-韦语洋(Lccee)-专题视频课程...
- 单片机C语言实验报告总结,C语言实训心得体会
- 20170118Capstone训练营
- Max 模型背面边面的不显示问题解决方案
- C 语言网络编程 — 内核协议栈收包/发包流程
- 54.Linux 网络编程
- window7 thinkpad E430C怎么关闭FN的快捷键 thinkpad系列win7通用