我是 JQuery 新手,编写了一个简单的验证来检查电子邮件地址。但它没有按预期工作。有人可以建议解决这个问题吗?
<script>
$( "#email" ).blur(function() {
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if($( "#Email" ).val().match(mailformat))
{
alert("You have entered an valid email address!");
}
else
{
alert("You have entered an invalid email address!");
}
});
</script>
</head>
<body>
<label for="email" id="email-ariaLabel">Your email address:</label>
<input id="email" name="email" type="email" class="required" title="This is a required field" /> <span class="msg error">Not a valid email address</span>
<span class="msg success">A valid email address!</span>
最佳答案
您的代码将在创建元素之前运行,因此不会附加处理程序。您应该将代码包装在 $(document).ready()
中,以便代码在创建元素后运行。
此外,选择器区分大小写,您应该使用 $("#email").val()
而不是 $("#Email").val()
$(document).ready(function(){
$( "#email" ).blur(function() {
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if($("#email").val().match(mailformat))
{
alert("You have entered an valid email address!");
}
else
{
alert("You have entered an invalid email address!");
}
});
})
关于javascript - JQuery 电子邮件验证不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25779480/