我试图使用'indexOf'验证表单中的日期输入,我尝试过,但没有成功。有什么办法解决的吗?&;位显示错误。很明显,我不应该这样写。我相信是小问题。
在代码中还需要注意一件重要的事情。
yes = (document.wedding.date.value.indexOf("/") == 2 && 5)
此处使用逻辑&&
AND运算符是错误的。此运算符总是分隔两个不同的逻辑表达式。您的第二个表达式是5
,它将始终转换为true。所以你的表达在单词中的意思是if first index of slash is 2(true/false) AND 5(true)
,但它应该是if first index of slash is 2 AND if second index of slash is 5
。
您可以使用这样的正则表达式来代替indexOf:
function validate(){
yes = (document.wedding.date.value.match(/^d{1,2}/d{1,2}/d{4}$/)
if(!yes)
alert("Incorrect Date Format");
}
此正则表达式匹配XX/XX/YYYY形式的日期,其中XX可以是1或2位数字,YYYY始终是4位数字。