在我阅读的文档中:
使用\A和\z匹配字符串的开头和结尾,^和$匹配行的开头/结尾.
我将应用一个正则表达式来判断用户提交的用户名(或邮箱是相同的).模型中的validates_format_of
应该使用哪个表达式?我不明白其中的区别:我一直使用^和$...
在我阅读的文档中:
使用\A和\z匹配字符串的开头和结尾,^和$匹配行的开头/结尾.
我将应用一个正则表达式来判断用户提交的用户名(或邮箱是相同的).模型中的validates_format_of
应该使用哪个表达式?我不明白其中的区别:我一直使用^和$...
如果您依赖正则表达式进行验证,则始终希望使用\A
和\z
.因为他们只会在me@example.com\n<script>dangerous_stuff();</script>
和$
之前验证所有的东西,比如说,他们只能在$
和me@example.com\n<script>dangerous_stuff();</script>
之前验证所有的东西.
我的建议是事先完全从用户名或邮箱中删除新行,因为几乎没有合法的理由这样做.然后您可以安全地使用\A
\z
或^
$
.