jQuery使用RegEx验证电子邮件 [英] Jquery validating email using RegEx
本文介绍了jQuery使用RegEx验证电子邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用下面的代码来验证电子邮件,目前它会测试该电子邮件以查看其是否与正则表达式匹配,但是即使输入了有效的电子邮件,也会激活错误并且该页面无法提交
I'm trying to validate a email using the code below currently it tests the email to see if it matches the regex but even when a valid email is entered the error is activated and the page does not submit
$('#emailsubmit').submit(function() {
var email = new RegExp(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
if (!("#emailAddr").match(email)) {
$("#errormsg").html("Please insert a valid email");
$("#errormsg").show();
var emailaddr = $("#emailAddr").val();
alert(emailaddr);
return false;
}
});
推荐答案
您忘了使用JQuery的.val()
方法来获取元素的值.相反,您尝试在HTML元素(显然不是字符串)上使用.match()
.代码:
You forgot to use JQuery's .val()
method which gets value of an element. Instead you were trying to use .match()
on HTML element(which is obviously not a string). Code:
$('#emailsubmit').submit(function() {
var email = new RegExp(/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/);
if (!("#emailAddr").val().match(email)) {
$("#errormsg").html("Please insert a valid email");
$("#errormsg").show();
var emailaddr = $("#emailAddr").val();
alert(emailaddr);
return false;
}
});
这篇关于jQuery使用RegEx验证电子邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文