我正在尝试使用.match进行正则表达式验证进行电子邮件验证,出于某种原因,即使遵循所有格式,它也只显示无效!
javascript功能
function check_email_valid(emails) {
var emailRegex = '^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$';
if (emails.match(emailRegex)) {
jQuery('#<%=Label16.ClientID%>').css('color', 'green');
jQuery('#<%=Label16.ClientID%>').show();
jQuery('#<%=Label16.ClientID%>').text("Valid Email!");
}
else {
jQuery('#<%=Label16.ClientID%>').css('color', 'red');
jQuery('#<%=Label16.ClientID%>').show();
jQuery('#<%=Label16.ClientID%>').text("Invalid Email!");
}
事件触发器
$('#<%=TextBox8.ClientID%>').keyup(function () {
var email = jQuery('#<%=TextBox8.ClientID%>').val();
check_email_valid(email);
});
我输入了test@mail.com并收到了“无效的电子邮件!”。知道为什么吗?
答案 0 :(得分:1)
区分大小写....然后验证电子邮件地址是a bit more complicated然后......(。博文组为一个,但还有更多......)。
答案 1 :(得分:0)
JavaScript定义正则表达式模式的方式与其他语言略有不同。它们不是字符串,而是简单地以斜杠开头,以一个斜杠结束,之后你可以指定一些标志。
您的模式定义如下:
var emailRegex = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i;
模式末尾的i标志使其不区分大小写。