在文档中,我读到:



我将使用正则表达式来检查用户提交的用户名(或电子邮件是否相同)。我应该在模型中的validates_format_of中使用哪个表达式?我不明白其中的区别:我一直使用^和$ ...

最佳答案

如果您依赖正则表达式进行验证,则始终希望使用\A\z^$只会匹配直到换行符为止,这意味着它们可以使用像me@example.com\n<script>dangerous_stuff();</script>这样的电子邮件,并且仍然使它有效,因为正则表达式只能看到\n之前的所有内容。

我的建议只是事先从用户名或电子邮件中完全删除新行,因为几乎没有正当理由。然后,您可以安全地使用EITHER \A \z^ $

关于ruby - Ruby正则表达式中\A\z和^ $之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/577653/

10-12 12:36
查看更多