【发布时间】:2018-10-07 08:57:14
【问题描述】:
这是我的日期验证代码,将28/02/2017 填入输入文本并按下按钮。
首先它会在代码中看到true,如果第一个警报是true,第二个警报也会提醒true。但我的第二个是警报false。
检测布尔值的错误是什么
if(regex.test(txt) === true)
{
alert("true");
p.innerHTML = "<h1 style='color:green'>Correct</h1>";
}
else
{
alert("false");
p.innerHTML = "<h1 style='color:red'>Wrong</h1>";;
}
.
<input type="text" id="date" name="date" value="dd/mm/yyyy" />
<button onclick="isDate();">Check</button>
<p id="response"></p>
<script>
function isDate() {
var regex = /^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g;
var txt = document.getElementById("date").value;
var p = document.getElementById("response");
alert(regex.test(txt));
if(regex.test(txt) === true)
{
alert("true");
p.innerHTML = "<h1 style='color:green'>Correct</h1>";
}
else
{
alert("false");
p.innerHTML = "<h1 style='color:red'>Wrong</h1>";;
}
}
</script>
【问题讨论】:
-
出于某种原因,在重复测试的警报下方添加了 console.log,然后删除了
===和true它返回 true 然后记录 false ... 很奇怪!诡异
标签: javascript jquery html