html javascript电子邮件图像
下面是我的验证脚本。输入电子邮件时,为什么不显示一个缩影,红色X图像,但不正确?我卡住了。请帮忙html javascript电子邮件图像,javascript,html,Javascript,Html,下面是我的验证脚本。输入电子邮件时,为什么不显示一个缩影,红色X图像,但不正确?我卡住了。请帮忙 <form name="validation" onSubmit="return checkbae()"> <input type="text" size=18 onkeyup="return checkbae()" name="email"> <span
<form name="validation" onSubmit="return checkbae()">
<input type="text" size=18 onkeyup="return checkbae()" name="email">
<span id="email" class="email"></span>
<input type="submit" value="Submit">
</form>
<script language="JavaScript1.2">
function checkemail() {
var messageg = document.getElementById('email');
var str = document.validation.email.value
var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z] {2})?)$/i
if (filter.test(str))
testresults = true
else {
messageg.style.color = red;
messageg.innerHTML = "\u2718"
testresults = false
}
return (testresults)
}
function checkbae() {
if (document.layers || document.getElementById || document.all)
return checkemail()
else
return true
}
</script>
函数checkemail(){
var messageg=document.getElementById('email');
var str=document.validation.email.value
var filter=/^([\w-]+(?:\[\w-]+)*)@((?:[\w-]+\)*\w[\w-]{0,66})\.([a-z]{2,6}:(\.[a-z]{2})$/i
if(过滤测试(str))
testresults=true
否则{
messageg.style.color=红色;
messageg.innerHTML=“\u2718”
testresults=false
}
返回(测试结果)
}
函数checkbae(){
if(document.layers | | document.getElementById | | document.all)
返回checkemail()
其他的
返回真值
}
我不确定这是否能帮到你,但这就是我想到的
<form name="validation" onSubmit="return checkbae();" method="post" >
<input type="text" size="18" name="email" />
<span id="email" class="email"></span>
<input type="submit" value="Submit"/>
</form>
function checkemail() {
var str = document.validation.email.value;
var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
var testresults;
if (filter.test(str))
testresults = true;
else {
$(".email").text("\u2718").css("color", "red");
testresults = false;
}
return (testresults);
}
function checkbae() {
if (document.layers || document.getElementById || document.all)
return window.checkemail();
else
return true;
}
函数checkemail(){
var str=document.validation.email.value;
var filter=/^([\w-]+(?:\[\w-]+)*)@((?:[\w-]+\)*\w[\w-]{0,66})\.([a-z]{2,6}:(\.[a-z]{2})$/i;
var测试结果;
if(过滤测试(str))
testresults=true;
否则{
$(“.email”).text(“\u2718”).css(“颜色”、“红色”);
测试结果=假;
}
返回(测试结果);
}
函数checkbae(){
if(document.layers | | document.getElementById | | document.all)
返回窗口。checkemail();
其他的
返回true;
}
您需要学习如何使用javascript调试器,例如Firebug
首先,您缺少很多分号和括号。我知道其中一些是可选的,但不使用它们几乎肯定会在以后添加另一行代码时带来麻烦。然而,这将是一个问题:
var str = document.validation.email.value // <-- Semi-colon??
var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
演示:
注意,我刚刚注意到,当电子邮件正确时,您永远不会清除X
,因此您基本上总是拥有X
。您需要确保在过滤器的if
块中将其删除。使用一点CSS,您也可以简化代码,只需隐藏和显示X
,而不是每次重新创建html
演示:为此代码创建了JSFIDLE:请格式化您的代码,停止使用粗体,并清楚地说明您的问题。我看不出您在js文件中声明了测试结果。OP没有使用jQuery,因此这肯定不起作用。@JeffB我的错,您说得对。我看到了你的例子。
function checkemail() {
var messageg = document.getElementById('email');
var str = document.validation.email.value;
var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z] {2})?)$/i;
if (filter.test(str)) {
testresults = true;
} else {
messageg.style.color = "red";
messageg.innerHTML = "\u2718";
testresults = false;
}
return testresults;
}
function checkbae() {
if (document.layers || document.getElementById || document.all) {
return checkemail();
} else {
return true;
}
}