`

为Validation.js增加中文日期验证

    博客分类:
  • Ajax
阅读更多
还是以前同时发表在ajaxcn.org上的一片小文, 不过后来一哥们儿回了更简便的方法


因为validation.js自带的是澳大利亚日期格式验证,如果需要对中文日期(yyyy-mm-dd, yyyy/mm/dd, yyyy.mm.dd)进行验证,就需要自己进行扩展,下面就是我做的一个扩展,如有不足请大家指正!
Validation.add('validate-date-cn', 'Please use this date format: yyyy/mm/dd. For example 2006/03/17 for the 17th of March, 2006.', function(v){
    /*-- 日期格式:(四位)年份 + (至多两位)月份 + (至多两位)日期 --*/ 
     if(!/d{4}[.-/]d{1,2}[.-/]d{1,2}/.test(v)) 
     { 
      return false; 
     }     /*-- 各月的天数 --*/ 
     var MonthDays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);     /*-- 提取年月日的值 --*/ 
     var tempArray = v.split(/[.-/]/);     var mYear = tempArray[0]; 
     var mMonth = tempArray[1];
     var mDay = tempArray[2];     /*-- 判断年份 --*/ 
     if(mYear <= 0 || mYear > 9999) 
     { 
      return false;
     }     /*-- 判断月份 --*/ 
     if(mMonth <= 0 || mMonth > 12) 
     { 
      return false; 
     }     /*-- 计算所在月的正确天数 --*/ 
     var RightDay = 0;
     if(mMonth == 2) 
      RightDay = (((mYear%4 == 0) && (mYear%100 != 0) || (mYear%400 == 0))? 29: 28);
     else 
      RightDay = MonthDays[mMonth-1];     /*-- 判断日 --*/ 
     if(mDay <= 0 || mDay > RightDay) 
     { 
      return false;
     }     /*-- 格式和值均正确,返回真 --*/ 
     return true;


更简单的做法:
/* 日期格式:(四位)年份 + (至多两位)月份 + (至多两位)日期 */ if(!/^(?:([0-9]{4}-(?:(?:0?[1,3-9]|1[0-2])-(?:29|30)|((?:0?[13578]|1[02])-31)))|([0-9]{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1d|2[0-8]))|(((?:(dd(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))-0?2-29)))$/.test(v)) { alert('false'); return false; }


这个是已经把闰年啊什么的都考虑进去的正则。

正则万岁哈。
分享到:
评论

相关推荐

    FormValidation.js

    - **校验规则**:`FormValidation.js` 提供了一系列内置的验证规则,如非空、邮箱、手机号、日期格式等。开发者可以根据需求选择或自定义这些规则。 - **动态添加元素的校验**:在某些交互丰富的Web应用中,用户...

    Jquery前端表单验证插件formvalidation源码及示例

    **jQuery FormValidation插件**是前端开发中一个广泛使用的工具,专门用于实现高效且用户友好的表单验证。这个插件基于流行的JavaScript库jQuery构建,它简化了在Web应用程序中实施复杂的验证规则的过程。在标题提到...

    jQuery.validationEngine 表单验证中文版

    jQuery.validationEngine是一款强大的JavaScript插件,专用于前端表单验证。这款插件以其简洁的API、丰富的验证规则和良好的国际化支持而备受青睐。在中文环境中,它可以为用户提供友好的中文提示,确保用户输入的...

    FormValidation完整源码和演示

    FormValidation是一款功能强大的前端表单验证框架,专为开发者提供高效、灵活的验证解决方案。它以其高度可定制性,对HTML data属性的完美支持以及内置的自定义验证器功能而备受推崇。本资源包含了FormValidation的...

    jQuery.Validation.Engine

    **jQuery.Validation.Engine** 是一个基于JavaScript库jQuery的插件,专为网页表单验证提供强大支持。这个插件设计精美,功能丰富,可以帮助开发者轻松创建符合业务规则的表单验证,提升用户体验,确保用户输入的...

    jQuery Validation Engine ( jQuery 表单验证插件)

    它是基于流行的JavaScript库jQuery构建的,为开发者提供了一种优雅的方式来处理用户输入的数据验证。这个插件以其高度可定制性和与AJAX的无缝集成而受到青睐,极大地提升了用户体验。 首先,我们来看一下jQuery ...

    jquery.validate.js表单验证[借鉴].pdf

    `jQuery.validate.js` 是一个非常流行的 JavaScript 库,用于对 HTML 表单进行验证。它是由 Jörn Zaefferer 创建的,并作为 jQuery 的一个插件发布。这个库简化了在网页上创建复杂的表单验证规则的过程,使得开发者...

    基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼

    ajax以支持ajax验证 增加validate-pattern直接通过正则表达式的认证 修改validate-equlas以验证密码与确认密码的问题 增加less-than与great-than的验证以支持开始日期与结束日期相比较的问题 增加validation之间...

    jsf-validation.zip_JSF_jsf validation_zip

    客户端验证通常使用JavaScript实现,可以在用户提交表单前实时检查数据,提高用户体验,但这种方式的缺点是容易被绕过。服务器端验证则是JSF的默认验证方式,它会检查所有提交的数据,即使客户端验证失败,服务器端...

    Validation表单验证

    6. **日期验证**:确保日期格式正确,或不超过特定范围。 7. **自定义验证**:根据业务需求定制的验证规则,比如密码强度验证。 `form.js`通常会与HTML表单元素进行交互,通过监听事件(如`onsubmit`)来触发验证...

    jquery.validate.js表单验证.pdf

    《jQuery validate.js 表单验证详解》 在Web开发中,表单验证是不可或缺的一环,它确保用户输入的数据符合预设的要求,提高用户体验并减少服务器端的压力。jQuery validate.js插件是实现这一功能的强大工具,它提供...

    validation-jQuery的validation表单验证插件.pdf

    jQuery的validation插件是一款强大的表单验证工具,它基于JQuery库,使得开发者能够快速有效地实现对表单输入数据的验证。这个插件不仅提供了许多内置的验证规则,还允许自定义验证方法,同时支持多语言,极大地提高...

    validation-jQuery的validation表单验证插件.docx

    jQuery的validation表单验证插件是用于简化网页表单验证的工具,它基于jQuery库,提供了一种高效且可扩展的方式来验证用户输入的数据。这个插件使得开发者能够快速地实现常见输入验证,同时支持自定义验证规则和多...

    validation2.3.4

    "validation2.3.4" 是一个专门针对表单验证的JavaScript库,它旨在帮助开发者更轻松、高效地处理用户输入的数据验证。在Web开发中,表单验证是不可或缺的一环,确保用户提交的信息准确无误是提升用户体验和数据安全...

    FormValidation验证源代码

    FormValidation是一款强大的JavaScript库,专为前端开发人员设计,用于实现高效、灵活的表单验证。这个库提供了丰富的验证规则,如电子邮件验证、电话号码验证和身份证验证,以确保用户输入的数据符合预设的格式和...

    HTML Form Validation with Javascript.zip

    4. **正则表达式**:对于复杂的输入格式验证,如邮箱、电话号码或日期,JavaScript的`test()`方法配合正则表达式能实现强大的匹配功能。例如,邮箱验证可以使用`/^\S+@\S+\.\S+$/`这样的正则表达式。 5. **自定义...

    Js validation-framework 使用指南和详细配置

    &lt;script src="path/to/validation-framework.min.js"&gt; ``` ### 三、JSValidation的基本使用 创建验证规则是JSValidation的基础操作。你可以为每个表单元素指定验证规则,如下所示: ```javascript var validator ...

    validation验证的一个web应用

    7. **验证工具和库**:除了上述提到的,还有许多第三方验证工具,如JSR 303/349 Bean Validation(Java),Express-validator(Node.js),WTForms(Python),ASP.NET MVC的DataAnnotations等,它们简化了验证逻辑...

    Validation插件

    1. 引入jQuery库和Validation插件的JavaScript文件,以及相应的本地化文件(如中文消息文件`messages_zh.js`)。 ```html &lt;script type="text/javascript" src="js/jquery-1.11.0.min.js"&gt; &lt;script type="text/...

Global site tag (gtag.js) - Google Analytics