`
yangshen998
  • 浏览: 1289097 次
文章分类
社区版块
存档分类
最新评论

利用正则表达式检查时间的合法性

 
阅读更多

利用正则表达式检查时间的合法性

左直拳

许多时候,少不得要检测一下用户输入的时间格式是否正确。对于B/S结构程序而言,既可以在服务器端检查,也可以在浏览器端检查,将错误封杀于提交之前,免得拿这些小事去烦服务器。

我有个WEB应用程序,需要在一个datagrid里面输入时间。决定在提交前检测时间合法性。

思路如下:

1、 设置一个可使用自定义的javascript函数的数据检查控件CustomValidator指向时间输入文本框txtTime

2、 编写一个检测时间的javascript函数CheckTime

3、 CustomValidator的属性ClientValidatorFunction设为CheckTime

关键是函数CheckTime该怎么写。

用正则表达式。

正则表达式是个好东西,看起来相当复杂,却真的很好用(痘痘真的不再长)。比如,检测邮箱合法性,用的就是一串长长的,神秘的正则表达式。

时间的格式形如:hh:mm。除了分隔符“:”外,只能是数字。并且小时不能>23,分钟不能>59。构造正则表达式如下:

var pattern = /(/d|([0-1]/d)|(2[0-3])):(/d|([0-5]/d))/;

其中,“/d”代表0~9的任意一位数字;“|”表示“或”的关系;“()”就跟平常用的括号没什么两样。用意很明显。

可是在测试的时候发现,象9:8967:5ab01:00这样的串放上去都显示合法。原来是没有标明串的开头和结尾,比如9:89,其中9:8确实是符合表达式的,并没有错。加上开头标志符“^”和结尾标志符“$”就搞定了。修正后的正则表达式

var pattern = /^(/d|([0-1]/d)|(2[0-3])):(/d|([0-5]/d))$/;

完整的检测时间函数

//检测时间的合法性

function CheckTime(source,args)

{

var time = args.Value;

var pattern = /^(/d|([0-1]/d)|(2[0-3])):(/d|([0-5]/d))$/;

if( time != "" && !pattern.test(time) )

{

args.IsValid = false;

return;

}

args.IsValid = true;

}

分享到:
评论

相关推荐

    MFC中利用正则表达式进行密码匹配

    在这个特定的场景中,我们看到一个对话框应用程序,它利用正则表达式来检查密码的合法性。下面将详细讨论这个过程中的关键知识点。 1. **MFC框架**:MFC是微软提供的一个C++类库,用于构建Windows应用程序,特别是...

    正则表达式 Java 判断字串是否合理

    这个表达式检查URL是否以合法的协议(如http、https等)开头,并且后面不包含空格。 ### 9. IP地址验证 IP地址的格式通常是四个0-255之间的数字,中间用点分隔。`checkIP`方法的正则表达式为: ```java "\\d{1,3}+...

    wps正则表达式 以及 wps通过正则表达式验证手机号码

    在WPS 2020及后续版本中,这一特性使得用户能够利用正则表达式处理数据,比如验证手机号码的合法性。 首先,让我们了解什么是正则表达式。正则表达式(Regular Expression)是一种模式匹配语言,它由一系列字符和...

    js正则表达式限制文本框只能输入数字,能输小数点.

    在Web开发中,经常需要对用户输入的数据进行合法性验证。为了确保数据格式正确且符合预期,开发者通常会在前端使用JavaScript结合HTML来实现输入验证功能。其中,一种常见的需求就是限制文本框只能输入数字,并允许...

    MAC地址合法性检测(正则表达式,C/C++, JAVA实现)

    在C/C++中,我们可以利用正则表达式来验证MAC地址的有效性。下面给出一个具体的示例: ```c #include #include #include int is_valid_mac_addr(char *mac) { int status; const char *pattern = "^([A-Fa-f0...

    正则表达式经典实例

    - **合法性检查**:例如,如何使用正则表达式验证电子邮件地址的有效性,确保符合标准格式。 - **格式化操作**:例如,如何将日期字符串转换为统一格式,或者去除字符串中的空白字符等。 - **文本处理**:例如,...

    JS正则表达式大全【6】

    【JS正则表达式大全【6】】这篇文章主要介绍了JavaScript中的正则表达式应用实例,主要探讨了如何利用正则表达式进行字符串处理和数据验证,显著地简化了代码并提高了效率。 首先,文章提到了去除字符串两端空格的...

    测试 正则表达式 工具

    测试正则表达式工具是开发和调试正则表达式的重要辅助软件,可以帮助程序员和非程序员快速检查正则表达式的正确性和有效性。 在编程领域,正则表达式通常被用来验证用户输入、提取信息或者进行数据清洗。例如,如果...

    正则表达式判断用户信息

    在IT行业中,正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换等操作。在用户信息验证场景中,...通过合理使用正则表达式,可以确保用户信息的有效性和安全性,提高系统的用户体验。

    C#利用正则表达式验证网址

    当然,这个简单的正则表达式可能无法涵盖所有合法的URL格式,例如IP地址、端口号等。为了更严谨,可以使用更复杂的正则表达式,但需要注意的是,过于复杂的正则表达式可能会导致性能下降。 在VS2010中,你可以创建...

    表单验证(用到正则表达式)

    在网页开发中,表单验证...在JavaScript和JSP中,我们可以方便地利用正则表达式进行客户端和服务器端的验证,提升应用的健壮性和用户体验。在实际开发中,掌握正则表达式的使用,将使你在处理数据验证时更加得心应手。

    文本框输入限制(正则表达式)

    通过`onKeyPress`事件监听键盘按键,结合正则表达式检查输入的小数点数量,确保不会出现多余的小数点或不合法的小数格式,保持数值精度。 ### 8. 格式化浮点数输入 ```html (/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')...

    易语言日期合法性正则表达式.7z

    在这里,我们主要探讨易语言如何利用正则表达式来判断日期的合法性。 日期合法性验证通常是为了确保输入的日期符合标准格式,如“YYYY-MM-DD”、“MM/DD/YYYY”或“DD-MM-YYYY”等。正则表达式可以非常灵活地实现这...

    正则表达式、其他API

    - **正则表达式**:为了解决字符串合法性验证的问题而设计,它提供了一种简洁有效的方式来定义和检测字符串模式。 - **IntegerCache**:为了提高Integer对象的性能而设计,它利用缓存机制避免了频繁的对象创建,减少...

    javascript&正则表达式进行表单验证

    在JavaScript中,正则表达式常用于验证表单数据,如邮箱、电话号码、日期等格式的合法性。 表单验证通常有三种模式: 1. **实时验证**:用户输入时立即进行验证,如输入框失去焦点或输入长度达到预设值时。这种...

    java中用正则表达式检测IP地址是否合理

    ### Java中利用正则表达式检测IP地址合理性 在日常的软件开发中,经常会遇到需要验证用户输入数据的情况,特别是对于IP地址这类特定格式的数据。本文将详细介绍如何使用Java中的正则表达式来检查一个IP地址的有效性...

    常用正则表达式集合,粘贴即用

    这里的正则表达式`\d+|\.`用于匹配一个或多个数字以及小数点,从而确保只有合法的数字和小数点格式能够被保留下来。 ### 四、仅允许输入字母和汉字 为了限制输入内容只能包含字母和汉字,可以使用以下代码实现: ...

    java中用正则表达式实现对IP地址的检测

    ### Java中利用正则表达式实现IP地址检测 在日常编程工作中,经常需要验证用户输入的数据格式是否正确,其中一种常见的需求就是验证IP地址的有效性。对于这种需求,可以通过多种方式来实现,如字符串分割、循环判断...

    正则表达式在PHP中的应用.pdf

    正则表达式是一种强大的文本处理工具,它用于匹配字符串模式,广泛应用于数据验证、文本替换和提取特定信息等多个领域。...通过不断实践和学习,开发者可以更好地利用正则表达式处理各种文本处理任务。

    正则表达式验证数字、邮件、计算表达式等

    这些正则表达式的应用展示了在实际编程中如何利用正则表达式进行数据验证,确保输入的数据符合预期的格式,从而提高程序的健壮性和用户体验。在处理用户输入时,这样的验证是必不可少的,能够防止无效数据引发的错误...

Global site tag (gtag.js) - Google Analytics