.test 电子邮件过滤器在 jquery 1.4.4 上运行良好,而不是在 jquery 1.8.3 上运行不正常
.test for email filter work well on jquery 1.4.4 instead of on jquery 1.8.3 doesn't work
这是我在表单提交时过滤电子邮件的简单代码;
var email_filter = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(email_filter.test($('#email').val()))
在 jQuery 版本 1.4.4 上效果很好,但在 1.8.3 上结果变为;
say true on; email@domain.e and email@domain.esse
say false on; email@domain.es and email@dom etc..
如果代码相同,为什么在 1.8.3 上会失败,我该如何解决?
我不认为它 jQuery 有问题,因为你的代码似乎是纯粹的 javascript 代码,除了获取输入字段值的部分,并确保尝试使用以下代码:
function isEmailValid(value)
{
is_email = value.match(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)!=null
return is_email;
}
// Test without jQuery
if( isEmailValid(document.getElementById("email").value) ){
// Valid
}else{
// Not Valid
}
// Test with jQuery
if( isEmailValid($("#email").val()) ){
// Valid
}else{
// Not Valid
}
这是我在表单提交时过滤电子邮件的简单代码;
var email_filter = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(email_filter.test($('#email').val()))
在 jQuery 版本 1.4.4 上效果很好,但在 1.8.3 上结果变为;
say true on; email@domain.e and email@domain.esse
say false on; email@domain.es and email@dom etc..
如果代码相同,为什么在 1.8.3 上会失败,我该如何解决?
我不认为它 jQuery 有问题,因为你的代码似乎是纯粹的 javascript 代码,除了获取输入字段值的部分,并确保尝试使用以下代码:
function isEmailValid(value)
{
is_email = value.match(/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i)!=null
return is_email;
}
// Test without jQuery
if( isEmailValid(document.getElementById("email").value) ){
// Valid
}else{
// Not Valid
}
// Test with jQuery
if( isEmailValid($("#email").val()) ){
// Valid
}else{
// Not Valid
}