【发布时间】:2015-09-08 02:56:12
【问题描述】:
我有一个表单,我使用了新的 html 5 输入类型“日期”。如何使用 javascript 验证它?输入类型数据的值是 mm-dd-yy 一起出现的,我们如何才能找出用户没有输入日期的哪一部分?mm或dd或yy??我们知道输入类型日期的默认客户端验证可能由浏览器完成,但我也想要js上的代码,它可以工作。
*********************问题已更新*********************
**** 我正在尝试这些家伙!你能从中提出一些想法吗?需要帮助。 ****
我们都知道 input type='date' 值将是字符串类型,所以首先从 Js 我取值,然后我们知道日期格式类似于 dd/mm/yy 所以..它将是例如:- 04 /05/1995 现在,我尝试在这里将“/”替换为“0”,这将是一个数字,所以我猜现在应该是 0400501995。之后我使用正则表达式来测试输入类型日期是否有数字与否。如果用户输入了所有日期,那么它将是所有数字,我的测试将成功,它会跳到最后一个 else 语句。但问题是它不像我想的那样工作。我们可以那样做吗?
在 HTML 上我得到了
Birthday: <input type="date" id='theDate' name="birthday"><br>
我的 Js 如下所示。
var mydate = document.getElementById('theDate').value;
var replacement = mydate.replace('/','0');
var check = /^[0-9]+$/;
if(!check.test(mydate))
{
document.getElementById('theDate').style.borderColor = "red";
document.getElementById('errorbdaysu').style.display = "inline";
document.getElementById('errorbdaysu').innerHTML = "Please fill up all your date";
}
else {
document.getElementById('theDate').style.borderColor = "green";
document.getElementById('errorbdaysu').style.display = "none";
}
【问题讨论】:
-
告诉我们你尝试了什么?
-
value的属性input type="date"如果每个mm/dd/yyyy不是由用户输入,则返回空字符串。用户可以输入的预期日期范围是多少?可以包括html,js在 Question 尝试过吗? -
恐怕除非它有效,否则您无法获得该值,因此您的错误消息不能比“检查日期格式”更具体。有#shadow-root 子元素属性,但我不认为普通脚本可以看到这些...
-
@Mritunjay 我更新了我的问题,现在显示我正在尝试什么。期待大家的帮助。
标签: javascript jquery html validation date