layui laydate 提示“日期格式不正确”

这篇具有很好参考价值的文章主要介绍了layui laydate 提示“日期格式不正确”。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

通过查看layui的源码,

            verify: {
                required: [/[\S]+/, "\u5fc5\u586b\u9879\u4e0d\u80fd\u4e3a\u7a7a"],
                phone: [/^1\d{10}$/, "\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u624b\u673a\u53f7"],
                email: [/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/, "\u90ae\u7bb1\u683c\u5f0f\u4e0d\u6b63\u786e"],
                url: [/^(#|(http(s?)):\/\/|\/\/)[^\s]+\.[^\s]+$/, "\u94fe\u63a5\u683c\u5f0f\u4e0d\u6b63\u786e"],
                number: function(e) {
                    if (!e || isNaN(e))
                        return "\u53ea\u80fd\u586b\u5199\u6570\u5b57"
                },
                date: [/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/, "\u65e5\u671f\u683c\u5f0f\u4e0d\u6b63\u786e"],
                identity: [/(^\d{15}$)|(^\d{17}(x|X|\d)$)/, "\u8bf7\u8f93\u5165\u6b63\u786e\u7684\u8eab\u4efd\u8bc1\u53f7"]
            },

可以看到 lay-verify="date"  

只验证 年月日,不支持时分秒。

最佳实践

1)日期框只能下拉,禁止输入,+不验证

2)自定义验证,参考layui文档,地址

表单组件 form - Layui 文档

补充:

yyyy-MM-dd HH:mm:ss 用正则校验很麻烦,考虑瑞年,每月的天数不同。

我写的验证:

反正格式化方法肯定有了,直接用

window.bitar.timeFormatLong=function(milliseconds) {
    var time = new Date(Number(milliseconds));
    var fmt = "yyyy-MM-dd HH:mm:ss";
    var o = {
        "M+": time.getMonth() + 1, // 月份
        "d+": time.getDate(), // 日
        "H+": time.getHours(), // 小时
        "m+": time.getMinutes(), // 分
        "s+": time.getSeconds(), // 秒
        "S": time.getMilliseconds() // 毫秒
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (time.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};

//原理,通过new Date 默认已经支持了几种格式文章来源地址https://www.toymoban.com/news/detail-729564.html

layui.form.verify({
    // 必填项
    datetime: function(value, elem) {
        // 自定义规则
        if (value.length !=19) {
            return '日期格式不正确';
        }
     if(value!= bitar.timeFormatLong(new Date(value).getTime())){
         return '日期格式不正确';
     }
    }
});

到了这里,关于layui laydate 提示“日期格式不正确”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • layui 设置选中时间为当天时间最大值23:59:59、laydate设置选中时间为当天时间最大值23:59:59

    既是涨知识的一天,又是干前端的一天! laydate.render({         elem: \\\'#validityPeriod\\\',         //type: \\\'datetime\\\',//类型要一定要相匹配         type: \\\'date\\\', // 设置日期选择模式         trigger: \\\'click\\\',         format: \\\'yyyy-MM-dd HH:mm:ss\\\', // 设置日期的显示格式         min: startDate,    

    2024年02月15日
    浏览(25)
  • 转换json格式的日期为Javascript对象的函数

    项目中碰到了用jQuery从后台获取的json格式的日期的字符串,需要将此字符串转换成JavaScript的日期对象。 代码如下: 开发中有时候需要从服务器端返回json格式的数据,在后台代码中如果有DateTime类型的数据使用系统自带的工具类序列化后将得到一个很长的数字表示日期数据,

    2023年04月25日
    浏览(30)
  • JavaScript 日期和时间的格式化大汇总(收集)

    一、日期和时间的格式化 1、原生方法 1.1、使用 toLocaleString 方法 Date 对象有一个 toLocaleString 方法,该方法可以根据本地时间和地区设置格式化日期时间。例如:   toLocaleString 方法接受两个参数,第一个参数是地区设置,第二个参数是选项,用于指定日期时间格式和时区信息

    2024年02月08日
    浏览(38)
  • Aspose.cell excel转pdf日期格式不正确yyyy/MM/dd变成MM/dd/yyyy

    最近使用Aspose.cell将excel转pdf过程中excel中时间格式列的显示和excel表里的值显示不一样。 excel里日期格式 yyyy/MM/dd pdf里日期格式MM/dd/yyyy 主要原因:linux和windows里内置的时间格式不一致,当代码部署到linux服务器的时候转换格式就会发生不一致的问题。 解决方法:使用apache p

    2024年02月15日
    浏览(30)
  • 支付宝支付时提示:RSA签名遭遇异常,请检查私钥格式是否正确。不正确的长度。【解决方案】

    我的c# .net框架,直接说解决方案吧! 小程序文档 - 支付宝文档中心 支付宝开放平台密钥工具可以生成应用公钥、应用私钥、CSR 文件,并提供密钥匹配、格式转换、签名、同步验签、异步验签等功能。  2.2.1、找到之前生成时的文件位置  2.2.2、从项目的代码中找 感谢阿杰,

    2024年02月11日
    浏览(53)
  • JavaScript 中 new Date() 生成的日期格式转换为 ‘yyyy-MM-dd HH:mm:ss‘ 格式的字符串

    1、使用 Date 对象自带的方法 可以使用 Date 对象自带的方法来获取日期字符串的各个部分,然后将它们拼接成目标格式的字符串: 2、使用第三方库 也可以使用第三方库来格式化日期字符串,如 moment.js: 或者使用 ES6 的模板字符串和 Date 对象自带的方法:

    2024年02月16日
    浏览(40)
  • 前端中不同格式的日期相互转换(字符串、时间戳)js相关

    在项目中遇到了,需要实现字符串和Unix时间戳的相互转换,随手记录一下。 我使用的组件库为Naive UI,涉及到的组件为日期选择器(Date Picker)。作者在文档中写道: 实话说我不喜欢这个 feature,因为多数情况下,传递时间字符串不是个最佳实践。但是现实世界是复杂的,我

    2024年02月02日
    浏览(57)
  • Java后端返回的MySQL日期数据在前端格式错误的解决方法,区分jackson和fastjson

    在写web项目的时候经常会遇到后端返回的MySQL 日期数据(date) 类型在前端显示不正确的情况,有的时候会出现一串数字的时间戳,有的时候显示为日期晚了一天。 这是因Json给前端返回数据的时候格式问题造成的 其实总结起来就是一句话在Model部分对于JavaBean定义参数类型的时

    2024年02月03日
    浏览(34)
  • Lottie--前端动画效果--UI输出json格式--lottie动画在JavaScript中使用

    Lottie一个适用于Web、Android、iOS、React Native和Window的移动库,它可以使用Bodymovin解析以json格式导出的Adobe After Effects动画,并再移动设备上进行本地渲染。 1.需要引入JavaScript文件,我使用的是cdn中的链接。这里直接上链接,按需取用。点这里 2.json格式的文件 我不是UI啊,我也

    2023年04月09日
    浏览(39)
  • layui无刷新式弹框编辑、layui日期重复、layui弹框调表、layui时间控件重复

    个人工作中前端遇到的问题总结,希望记录也能帮到看到帖子的你少走弯路! ------ layui时间控件重复一定要检查动态传参是否与控件的类型一致(layui日期重复)  var laydate = layui.laydate;   var curDate = new Date();   var endDate = (curDate.getFullYear()+1).toString() + \\\'-\\\' + (curDate.getMonth() + 1)

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包