哪种验证方法? REGEX还是filter_var?

时间:2011-02-16 19:29:22

标签: regex performance security validation filter-var

您如何看待,这些方法之间是否存在差异(性能,安全性,可靠性):

方法1

eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)

方法2

filter_var($email, FILTER_SANITIZE_EMAIL) 
filter_var($email, FILTER_VALIDATE_EMAIL)

2 个答案:

答案 0 :(得分:2)

方法2显然更容易理解,更易于维护。正则表达式看起来像线路噪声。

答案 1 :(得分:0)

如果方法2是一个很好的电子邮件验证,那就更好了。

如果对此(扩展)

不区分大小写,则可以清除方法1

更正:没有足够接近正则表达式。

坚持方法2 ..