【发布时间】:2017-04-27 03:29:29
【问题描述】:
我正在为学校处理一项任务,我们正在使用 JavaScript(我只能使用 JavaScript)来验证支付页面的表单。这是我第一次使用 JavaScript,所以我感到有点失落......
我面临验证到期日期的任务,要求是:
- 数字必须是 2-2 位数字(格式为 mm-yy)
- mm 需要 >01 和
- 并且到期日期必须在今天之后
到目前为止,我只能指定前两个要求,并且无法弄清楚如何根据今天的日期检查日期。
html
<form>
<label for="expiryDate">Expiry Date</label>
<input type="text" name="expiryDate" id="expiryDate" />
<input type="submit" value="Check out" />
</form>
JavaScript
var expiryDate = document.getElementById("expiryDate").value;
if (!expiryDate.match(/^[0][1-9]|[1][0-2]-[0-9]{2}$/)){
errMsg = errMsg + "The expiry date needs to be mm-yy and consist of a valid date.\n";
result = false;
}
因此,如果有人知道如何帮助我,我将不胜感激!
【问题讨论】:
-
请注意,您的正则表达式将匹配
"99-12"之类的值。无论如何,就获取当前日期的月份和年份而言,您是否查看过Date对象的方法,例如.getMonth()和.getFullYear()? -
我不知道为什么有些人坚持两位数的月份,1-18 应该是完全有效的。为什么要强制用户添加前导零?
标签: javascript date