如何通过HTML5 Pattern(DD.MM.YYYY)创建日期字段

时间:2018-03-31 01:34:41

标签: html5

我有那段代码:

(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))

检查

1)年份是数字,从19或20开始,

2)月份是数字,在01-12和

之间

3)日期是01-29之间的数字,或

b)如果月份值不是02或

,则为30

c)31如果月份值是01,03,05,07,08,10或12

之一

来自第http://html5pattern.com/Dates

我试图移动代码的某些部分,但是这段代码无法工作......即使我试图找到一些说明我该怎么做。但我无法处理......

如何获得与上述代码类似的结果,但格式为:

DD.MM.YYYY

是否有可能在字段中添加点,用户只能输入没有点的数字? (我的意思是每次都会出现点数)

感谢您的帮助。

抱歉我的英文。

2 个答案:

答案 0 :(得分:0)

我认为这是你正在寻找的东西:

(?:(?:0[1-9]|1[0-9]|2[0-9])\.(?:0[1-9]|1[0-2])|(?:30)\.(?:(?!02)(?:0[1-9]|1[0-2]))|(?:31)\.(?:0[13578]|1[02]))\.(?:19|20)[0-9]{2}

还尝试了一些可能的测试用例并且工作正常:

enter image description here

答案 1 :(得分:0)

您可以使用输入掩码插件来代替您所要求的一些内容。

我想到的一个受欢迎的是Robin Herbots:https://github.com/RobinHerbots/Inputmask

您可以在此处找到其网页上的演示:https://robinherbots.github.io/Inputmask/index.html

将插件实现到页面后,只需为它们建立正确的输入标记和jquery即可。例如:

您的电话号码脚本将是以下内容:

<script type="text/javascript">
$("#Phone").inputmask({mask: "999.999.9999"});
</script>

您应该查看相关文档。