是否可以通过在 javascript 中使用正则表达式来计算具有输入年份出生的年龄
Is it possible to calculate an age having as input year's birth by using regular expressions in javascript?
所呈现的代码的目的是以当时的动态方式建立 15 到 60 岁之间的年龄范围,并且它有效。现在,使用 HTML5 输入标签的好处模式属性,我想知道我是否摆脱了 javascript 并只使用模式属性上的正则表达式来执行此操作。
网页代码:
<body>
<div class="test">
<form action="test.html" method="post">
<table>
<tbody>
<tr>
<th colspan="3">DATE</th>
</tr>
<tr>
<td>
<input id="YEAR" name="R4" value="" placeholder="YEAR" type="text" required="required" pattern="^(19[4-9]{1}[0-9]{1}|200[1]{1})$">
<input id="MONTH" name="R6" value="" placeholder="MONTH" type="text" required="required" pattern="^0[1-9]|1[0-2]$">
<input id="DAY" name="R7" value="" placeholder="DAY" type="text" required="required" pattern="^0[1-9]|1'd|2'd|3[0-1]$">
</td>
</tr>
<tr>
<td colspan="3">
<button name="insert" type="button" onclick="dob()">INSERT</button>
</td>
</tr>
</tbody>
</table>
</form>
</div>
</body>
CSS代码:
@CHARSET "UTF-8";
body {
margin: 0;
padding: 0;
background: #D0D0D5;
font-family: monospace;
font-size: 16px;
}
input {
width: 49px;
height: 15px;
font-size: small;
}
button[type="button"] {
width: 100%;
height: 25px;
margin-left: auto;
margin-right: auto;
}
.test {
position: absolute;
width: 200px;
top: 10px;
left: 15px;
border: 1px solid grey;
border-radius: 6px;
box-shadow: 3px 3px #383333
}
**javascript代码:**来自:在JavaScript中计算年龄
function dob() {
var year = document.getElementById('YEAR').value;
var month = document.getElementById('MONTH').value;
var day = document.getElementById('DAY').value;
var today = new Date();
var age = today.getFullYear() - year;
if (today.getMonth() < month || (today.getMonth() == month && today.getDate() < day)) {
age--;
}
alert(age);
}
JSFiddle
提前谢谢。
恕
我直言,在这种情况下,使用数字输入类型而不是文本更有意义。无需编写所有复杂的正则表达式来解析文本字段中的用户输入。
我会像下面这样更改 DOB 字段,这使它更容易。
<input id="YEAR" name="R4" placeholder="YEAR" type="number" required min="1949" max="2016" step="1">
<input id="MONTH" name="R6" placeholder="MONTH" type="number" required min="1" max="12" step="1" >
<input id="DAY" name="R7" placeholder="DAY" type="number" required min="1" max="31" step="1">
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 可以't让我的if语句处理js中的html表单输入
- 名称输入的索引
- 如何编写HTML输入的JS内联
- 要求输入在数据列表中
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 如何将输入(type=text)从html表单传递到javascript函数
- 单击jquery清除输入值
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- jQuery自定义验证比较多个输入的序列
- Sails.js:同时发布文本输入和一个文件
- 使用javascript检查多个输入值,并在1次检查中标记多个输入框
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- 使用jquery在单击时在单元格中输入值
- 我需要让用户输入他的出生日期,并使用javascript检查其形式是否正确.我的代码不起作用
- 是否可以通过在 javascript 中使用正则表达式来计算具有输入年份出生的年龄
- 我正在尝试创建一个通过输入出生日期输出年龄的函数.我没有从中得到输出.我做错了什么?
- 出生日期输入字段的日期选择器