相当具体的问题,这个jQuery始终记录到控制台,即使是真正的地址,电子邮件格式也是无效的。似乎无法弄清楚为什么。正则表达式是否正确?非常感谢任何帮助
// VALIDATION ON BLUR
$("#prospects_form > *").blur(function() {
// Validate Email
function valEmail() {
var email = $("#form_email"),
// Check address format
emailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!emailFilter.test(email.value)) {
// Incorrect
$("#form_email").addClass("invalid");
console.log('email invalid');
} else {
// Correct
$("#form_email").removeClass("invalid");
console.log('email valid');
}
}
valEmail();
});
答案 0 :(得分:1)
根据我的评论:
看到var email是一个jQuery对象,你应该尝试使用email.val()来获取 它的价值。
如果您使用email.val()
,我会this Fiddle显示它有效。
if (!emailFilter.test(email.val())) {...
答案 1 :(得分:1)
jquery Dom对象没有属性value
。
使用此
$("#form_email").val();
而不是
$("#form_email").value;
希望这会有所帮助......