我在使用以下一些代码在我的脚本中正确运行时遇到了一些麻烦:
if (email == "") {
$("#field2 .error1").show();
$("input#email").focus();
return false;
}
else if(email != /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/) {
$("#field2 .error2").show();
$("input#email").focus();
return false;
}
基本上我的页面上有一个表单,它使用外部js文件验证了几个字段。我希望它检查电子邮件字段是否为空或是否与正则表达式不匹配。如果它是空白的,则返回.error,如果它与正则表达式不匹配,我希望它显示.error2。
正在发生的事情是显示错误,但即使我输入了正确的电子邮件地址,它也无法验证并继续显示.error2。我很难过,因为我在这里失踪了,所以任何帮助都会受到赞赏。
即使我试试这个,
if (email == "" || email != /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/) {
$("#field2 .error1").show();
$("input#email").focus();
return false;
}
我仍然无法发送表格???
好的所以我已经尝试过了,它似乎正常运作。它看起来是否正确?我会考虑regx字符串并使用更好的字符串,更多的是让它按预期工作。
var email = $("input#email").val();
var regx = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/;
if (email == "") {
$("#field2 .error").show();
$("input#email").focus();
return false;
}
else if (!regx.test(email)){
$("#field2 .error2").show();
$("input#email").focus();
return false;
}
答案 0 :(得分:2)
试试这个
var regexp=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i;
if(regexp.test(email)){
// matched
}else{
// not matched
}
答案 1 :(得分:0)
你需要这样做,
var regx=/^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/ // create your regular expresseion
if(regx.test(email)){// use test() method to do the match
// do if match
}else{
// not matched
}
答案 2 :(得分:0)
您所比较的是正则表达式。
var filter = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9][a-zA-Z0-9.-]*[\.]{1}[a-zA-Z]{2,4}$/;
if (!filter.test($("input#email").val()))
{
// invalid email
}
//valid email
答案 3 :(得分:0)
在这里尝试一下 头:
<script type="text/javascript">
function validateEmail(theForm) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(theForm.email-id.value))
{
return(true);
}
alert("Invalid e-mail address! Please enter again carefully!.");
return(false);
}
</script>
体:
<form onSubmit="return validateEmail(this);" action="">
E-mail Address:
<input type="text" name="emailid" />
<input type="submit" value="Submit" />
<input type="reset" value="Reset" />
</form>