最近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 を分離して年齢を計算するにはどうすればよいですか?