【发布时间】:2022-01-25 00:54:57
【问题描述】:
我需要使用正则表达式验证 yymmdd 格式的文本输入。
<input type="text" class="form-control" maxlength="12" name="ic_no"
pattern="(((0[048]|[2468][048]|[13579][26])0229)|[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)))[0-9]{6}" required>
ic_no 表示身份证号码。前 6 位数字是 yymmdd,接下来的 6 位数字是随机数字。例如:730228072435。
当我输入像 730229 这样的日期时,它会显示计算年龄的错误。因为是闰年,所以算年龄应该是730228。
如何使用闰年支持验证 yymmdd 格式?提前致谢。
【问题讨论】:
-
有一些闰年正则表达式,但它们非常复杂。使用 JavaScript 会更易读。这对你来说是一个选择吗?
-
不,我必须使用表单输入。没事吧?
-
那么您当前使用的
pattern不起作用? -
只能输入29日之前的日期。不能输入第 30 和第 31。比如000229可以,bur 000430、000531不行。
-
我的答案中的模式是否解决了您的问题?如果不是,您能否尝试澄清您的问题?