【发布时间】:2016-01-07 08:48:14
【问题描述】:
我在 js 中有这个脚本:
编码 HTML:
<input class="required-input" type="text" name="date_of_birth" id="date_of_birth" placeholder="MM/DD/YYYY">
代码 JS:
$('.required-input').each(function() {
$(this).on('input keyup keypress blur change', function() {
const dob= /^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$/;
var regex;
if ($(this).attr("id") == "date_of_birth")
{
regex = dob;
}
//SOME CODE JS:
});
});
我想要这些东西:
1.成为下一个格式23/09/1992
2.你不能写多余的字符。
3.不能写字母,只能写数字
如何将这个变量(dob)改成好的?
提前致谢!
【问题讨论】:
-
为什么不使用 jquery 日期选择器呢?
-
取决于您必须支持的浏览器(基于
const,我猜只有现代的)您可以使用date类型的输入。这将照顾你想要的大部分。它具有内置验证功能。内置在浏览器中。这样你就不需要正则表达式w3schools.com/html/tryit.asp?filename=tryhtml_input_date -
您的
dob正则表达式适用于 DD/MM/YYYY 日期模式,但您有placeholder="MM/DD/YYYY"。如果您计划仅支持/分隔符,请从[./-]类中删除其他分隔符。并且/必须在文字符号正则表达式中进行转义。 -
是的,但是例如如果用户写:23091992...我想在 23/09/1992 自动转换此文本
-
看看this demo。如果您使用 JQuery,我认为这就是您所需要的。
标签: javascript regex validation