Javascript 日期验证 (DD/MM/YYYY) & 年龄检查

标签 javascript html validation

我最近开始研究 Javascript。我正在测试的是检查有效格式的 DoB。下一步将检查年龄。

下面是我的 HTML 代码

<form name="ProcessInfo" action="#" method="POST" enctype="multipart/form-data" target="_self" onsubmit="return checkForm();">
.
.
.
.
<br>
<label for="txtDOB">Date of Birth:* </label>
<input id="txtDOB" type="text" name="txtDOB" size="12">
format: ##/##/####
<br>
.
.
.
</form>
.
.

然后我在我的 .js 文件中做了以下操作

var errMessage = "";

function checkForm() {
    validateName();
    validateSurname();
    carSelect();
    validateDOB();

    if (errMessage == "") {
    } else {
        alert(errMessage);
    }
}

...

function validateDOB()
{
    var dob = document.forms["ProcessInfo"]["txtDOB"].value;
    var pattern = /^([0-9]{2})-([0-9]{2})-([0-9]{4})$/;
    if (dob == null || dob == "" || !pattern.test(dob)) {
        errMessage += "Invalid date of birth\n";
        return false;
    }
    else {
        return true
    }
}

我试图用正则表达式检查它是否有效,但即使我输入的日期正确,我也总是收到警告。以及如何将 DD/MM/YYYY 分开来计算年龄?

最佳答案

如果要在格式中使用正斜杠,则需要在正则表达式中使用反斜杠进行转义:

var pattern =/^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/;

http://jsfiddle.net/P9TER/

关于Javascript 日期验证 (DD/MM/YYYY) & 年龄检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19820257/

相关文章:

javascript - 使用 SetTimeOut 淡出相互平铺的元素列表

javascript - 我在哪里可以找到 angularjs typescript 的 api 引用?

java - 业务规则 - 它们在 OOP 中的位置?

javascript - HTML5 使用 Javascript 填充文本标签的有效方法?

java - 如何通过电子邮件通过撇号进行验证并使用正则表达式限制 @ 符号后的点数。 (JAVA)

javascript - Google map 中自定义图 block 的背景图片

javascript - Python中的 'is'关键字和JS中的===关键字一样吗?

php - FPDF WriteHtml 不起作用

html - 视频无法在 Firefox 中运行

javascript - 如何将 Balloonpanel 插件集成到我的编辑器中?