使用jQuery进行电子邮件检查不起作用
Email check with jQuery doesn't work
我试图使Ajax形成并尝试在那里进行电子邮件验证。我找到了这个解决方案http://jsfiddle.net/EFfCa/
但无法在我的脚本中打开它:
<script>
$('#joinForm').ajaxForm(function() {
var testEmail = /^[A-Z0-9._%+-]+@([A-Z0-9-]+'.)+[A-Z]{2,4}$/i;
var name = $("input[name=name]")
var email = $("input[name=email]")
if(name.val()==''||email.val()=='') {
$(".notify").show();
$(".notify p").text('empty');
} else if(testEmail.test(email.value)) {
$(".notify").show();
$(".notify p").text('email is wrong');
} else {
$(".notify").show();
$(".notify p").text('good');
}
});
</script>
即使电子邮件错误,表单也始终通过验证。验证空字段效果很好...
如果
电子邮件正确,则以下行else if(testEmail.test(email.value))
将返回 true。
在你的逻辑中,这就是电子邮件错误的地方,这可能是问题所在吗?
这是因为您的传递email.value
. jquery
对象没有名为 value
的参数,因此这将解析为 undefined
。
如果 .test()
未定义地通过,则返回 true,因此您的测试将始终通过。
请改用.val()
。
$('input').blur(function() {
var testEmail =/^(['w-]+(?:'.['w-]+)*)@((?:['w-]+'.)*'w['w-]{0,66})'.([a-z]{2,6}(?:'.[a-z]{2})?)$/i;
if (testEmail.test(this.value)) alert('passed');
else alert('failed');
});
相关文章:
- 使用map来检查是否为真'不起作用
- 错误检查在Javascript中不起作用
- 对照数组脚本检查文本框中的值不起作用
- JS中的单选按钮检查不起作用
- 为什么这个jQuery代码检查所有复选框不起作用
- 简单的PHP字符串检查不起作用
- 引导程序3在IE8中不起作用(已检查其他答案)
- 我需要让用户输入他的出生日期,并使用javascript检查其形式是否正确.我的代码不起作用
- 我的数字检查器功能不起作用,为什么
- If.else语句检查NaN和空字符串是否在JavaScript中不起作用
- javascript对象检查在IE11中不起作用
- 互联网连接检查不起作用
- 溢出检查不起作用
- 图像存在性检查不起作用
- Live用户名检查不起作用
- 在Angular/Restangular中对返回的JSON值进行空检查不起作用
- 正则表达式-整数检查不起作用
- jQuery.pr()检查不起作用
- 简单的JavaScript检查不起作用
- 使用jQuery进行电子邮件检查不起作用