0

我有一个表格:

<form action="something.php" method="POST">
  <input type="email" name="email"/>
  <input type="submit" value="Send Email"/>
</form>

当有人试图输入一些不是电子邮件格式的字符串时,表单不会让他输入。唯一的问题是这在 Safari 上不起作用!为什么!!!!http://www.w3schools.com/html/html5_form_input_types.asp

那么我可以使用哪些超级简单的解决方法?谢谢

4

1 回答 1

2

让我们在这一点上非常清楚:虽然一些 HTML 客户端会尊重 . input type,但有一些则不会,即使他们这样做,也不会阻止任何人在该字段不是电子邮件地址的情况下伪造 HTTP 请求。因此,您可以依赖于<input type=email>向用户提供关于该字段应该包含什么内容的提示,但您不应该依赖它来确保只有电子邮件地址才能进入您的 PHP 脚本。

所以有些浏览器支持它,但 Safari 不支持。这就是它的全部内容。

因此,正确的解决方案是也进行服务器端验证,如果它不是电子邮件地址,则使其失败。您可以使用正则表达式相对轻松地进行检查。

于 2013-11-04T22:55:40.230 回答