好的,所以我对regexps一般都是新手,更不用说Javascript了.
我正在尝试一个表单验证项目,我找到了一个站点,他们在这里有各种有用的示例正则表达式列表,其中有一些用于电子邮件验证,这是我目前正在尝试的.
无论如何,按照这个w3schools表单验证的例子,我能够使用他们的例子让它正常工作,并且regexp在javascript函数之外工作,但由于某些原因,当我在函数内部调用它时,它返回一个undefined值.
这是我的代码:
<html>
<head>
<title>formzz validate-jons</title>
<script type="text/javascript">
pattern = new RegExp("^[0-9a-zA-Z]+@[0-9a-zA-z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
function valid8email(field, txt)
{
with(field)
{
//at_pos = value.indexOf('@');
//dot_pos = value.lastIndexOf('.');
if(!pattern.test(value)) //at_pos < 1 || (dot_pos - at_pos) < 2)
{
alert(txt);
return false;
}
else
{
return true;
}
}
}
function valid8(form)
{
with(form)
{
if(valid8email(email, "you must enter an email address") == false)
{
email.focus();
return false;
}
}
}
</script>
</head>
<body>
<form action="#" method="POST" onsubmit="return valid8(this)">
Email: …Run Code Online (Sandbox Code Playgroud)