首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中检测布尔值真假?

如何在javascript中检测布尔值真假?
EN

Stack Overflow用户
提问于 2018-04-26 15:22:30
回答 1查看 489关注 0票数 3

这是我的日期验证代码,当将28/02/2017填充到输入类型的文本并按下按钮时。

首先,它将在代码中看到true时提醒true,如果第一个警报是true,则secone警报也会提醒true。但我的第二个是提醒false

我检测布尔值的猜测是什么?

代码语言:javascript
复制
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>";;
}

代码语言:javascript
复制
<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>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-26 15:32:48

原因是如果有匹配,regex.test()将搜索字符串并返回true。如果您随后再次调用.test(),它将从它停止的位置继续。

在带有全局标志的正则表达式上使用test() 如果正则表达式设置了全局标志,test()将推进正则表达式的lastIndextest()的后续使用将在lastIndex指定的str子字符串开始搜索(exec()还将推进lastIndex属性)。

出发地:MDN网络文档- RegExp.prototype.test()

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50046711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档