【发布时间】:2012-11-24 18:52:15
【问题描述】:
这是我的第一篇文章,我有一个小问题。我正在尝试验证表单上的电子邮件地址,但没有运气。我在互联网上找到了这个 sn-p,但它似乎不起作用。我目前正在使用 Javascript 来验证它。我通常不使用 JS,所以任何帮助将不胜感激。
<script type="text/javascript">
function ValidateEmail(inputText)
{
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(inputText.value.match(mailformat))
{
document.forms.emailform();
return true;
}
else
{
alert("You have entered an invalid email address!");
document.forms.emailform();
return false;
}
}
<?php
$addemail .= '
<form method="post" action="cart2.php" name="emailform" onsubmit="return validateEmail">
';
$addemail .= '
E-mail Address: <input type="text" name="email" value="'.$row6['email'].'" size="19" /><input type="hidden" name="cartid" value="'.$cart.'" />';
if ( $emailerror != '' )
{
$addemail .= '<img src="images/email_error.png" width="16" height="16" hspace="4" alt="E-mail Error" />';
}
$addemail .= '
<input type="image" name="Add E-mail Address" alt="Add E-mail Address" src="images/addemail.gif" style="vertical-align:middle" />
</form>
';
if ( $row6['email'] == '' )
{
$emailpresent = 0;
}
else
{
$emailpresent = 1;
}
}
$addemail .= '
</td>
</tr>
';
}
?>
【问题讨论】:
-
not working是什么意思?您的表单没有提交吗(您拨打document.forms.emailForm()时可能有错字,无效)? -
该正则表达式试图禁止一些完全有效且真实的电子邮件地址(其中包含
+的电子邮件地址以及来自museum和infoTLD 的电子邮件地址)。 -
HTML5 定义了一个新的输入
type="email"。它具有pattern属性,您可以在其中指定正则表达式。更多详情here
标签: javascript