Javascript 对于电子邮件验证,此代码不起作用。我可以知道原因吗
看看这个。在Javascript 对于电子邮件验证,此代码不起作用。我可以知道原因吗,javascript,Javascript,看看这个。在电子邮件字段中,它甚至不接受单键笔划。据我所知,AllowRegex变量中存在错误,无法验证我在表单的电子邮件字段中输入的内容 function mailonly(e) { var code; if (!e) var e = window.event; if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; var character = String.fromCha
电子邮件字段
中,它甚至不接受单键笔划。据我所知,AllowRegex
变量中存在错误,无法验证我在表单的电子邮件字段中输入的内容
function mailonly(e) {
var code;
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
var AllowRegex = /^[\ba-zA-Z0-9\s-._ ]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,4}$/;
if (AllowRegex.test(character))
return true;
return false;
}
在写入完整的电子邮件地址后尝试验证电子邮件。我想你用了
onblur
我还注意到,您在电子邮件中允许了不正确的\s
(空格)。您应该改用\S
(CAP)。它与\s
相反
另外,在
(点)之前应该有一个\
<代码>/^[\ba-zA-Z0-9\S-\.\u]AllowRegex检查完整的电子邮件Id,而不是单个字符,并且您正在检查每个按键上的文本。选中此复选框,它将帮助您完成此操作。
另一个例子是。
当数据一个字符一个字符地显示时,您是否真的试图针对正则表达式进行验证?这行不通。等待,直到您拥有完整的地址,然后使用正则表达式。当然,如果正则表达式本身有效。你知道它甚至不允许输入单个字符吗?我不能在表单的电子邮件字段中按任何键…实际问题是表单电子邮件字段甚至不允许输入单个键,所以我如何输入整封电子邮件…删除
onkeypress
(或onkeydown
,onkeydup
)并在onblur
事件上调用JS。您有trid JSFIDLE示例吗?它的工作原理是你可以用你的regexp而不是onkeypress来验证onblur
事件。是的,Pratik先生,但是它显示的id属性是未定义的,在id=“user\u email”可能它的bcoz我正在使用struts框架…我不明白…id=“user\u email”是你html中电子邮件id的输入标签的id。
function validateEmail() {
var validEmail = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if (validEmail.test($('#user_email').val())) {
$('.masked-check').fadeIn(300);
$('#status').html('Valid Email!');
}
else {
$('.masked-check').fadeOut(300);
$('#status').html('INVALID Email!');
}
}