作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我听说用正则表达式验证电子邮件地址是一件坏事,而且它实际上会造成伤害。这是为什么?我认为验证数据永远不会是一件坏事。也许没有必要,但只要您正确执行验证,这绝对不是坏事。你能解释一下为什么这是对的还是错的?如果可能造成伤害,请举例说明。
最佳答案
一般来说,是的 - 使用正则表达式来验证电子邮件地址是有害的。这是因为正则表达式作者的错误(不正确)假设。
正如@klutt 指出的,电子邮件地址有两部分,local-part
和 domain
.值得注意的是,关于这些部分的一些不是很明显的事情:
local-part
可以包含转义字符甚至附加 @
人物。 local-part
可以区分大小写,但是取决于该特定域的邮件服务器如何区分大小写。 domain
部分可以包含零个或多个由句点 ( .
) 分隔的标签,但实际上没有对应于根(零标签)或 gTLD(一个标签)本身的 MX 记录。 @
local-part
(最右边 @
左侧的所有内容)非空 domain
部分(最右边 @
右侧的所有内容)至少包含一个句点(同样,这不是严格正确的,而是务实的)关于regex - 使用正则表达式验证电子邮件地址会造成伤害吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48055431/
我是一个使用 Python 和 PyGTK 的 Linux 软件项目的开发人员。我们正在编写的程序依赖于许多第三方包,这些包可通过所有 mayor 发行版存储库获得。其中之一是 python 绑定(b
我是一名优秀的程序员,十分优秀!