在 HTML5 中未正确验证-6ren"> 在 HTML5 中未正确验证-我一直在使用 HTML5 的新输入类型来简化验证。我注意到一个没有多大意义的问题(在 Chrome 上测试过,但不确定其他浏览器)。如果我将 michael 放在我的电子邮件字段中,它会说它需要是一个-6ren">
gpt4 book ai didi

php - 属性 <input type ="email"> 在 HTML5 中未正确验证

转载 作者:太空宇宙 更新时间:2023-11-04 14:02:36 26 4
gpt4 key购买 nike

我一直在使用 HTML5 的新输入类型来简化验证。我注意到一个没有多大意义的问题(在 Chrome 上测试过,但不确定其他浏览器)。如果我将 michael 放在我的电子邮件字段中,它会说它需要是一个有效的电子邮件,太棒了,但是当我尝试 michael@test 并且没有扩展名时,它会正确验证。

我想知道的是,这是一个错误还是故意为之?

我还想向将来使用它并认为它 100% 有效的人指出这个问题。

幸运的是,我运行了 Laravel 自己的电子邮件检查,效果很好,但为什么 Chrome 或 W3 联盟的任何人都不知道这个问题呢? 100% 依赖并认为人们正在使用来自此输入类型的有效电子邮件地址可能是相当大的风险。

最佳答案

michael@test 一个有效的电子邮件地址,因为它的格式是有效的。有效的电子邮件地址自然并不意味着该电子邮件地址能够接收邮件,或者您的邮件守护程序甚至可以向其发送邮件。

The W3C working group note on input type=email表示匹配条件是匹配以下正则表达式的任何字符串:

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/

因此,根据该标准,^_^"@666.42.99- 也被视为有效的电子邮件地址,尽管地址的主机部分显然无效。

不幸的是,除了向那里发送验证消息并要求用户根据该消息的内容采取行动之外,没有其他方法可以积极和最终地验证电子邮件地址的有效性。

HTML 5 验证仍然非常擅长确保您没有在电子邮件字段中意外键入您的电话号码或地址;但任何客户端数据都应始终被视为可能无效和不受信任,并且无论如何都要在服务器端重新检查。

关于php - 属性 &lt;input type ="email"> 在 HTML5 中未正确验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23931270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com