正则表达式,设计和制图员。 Ruby on Rails 5.2.2

时间:2019-02-25 02:10:39

标签: ruby-on-rails regex devise brakeman

我正在使用给定的正则表达式表达式来验证用户名:

validates_format_of :username, with: /^[a-zA-Z0-9_\.]*$/, :multiline => true

通过运行brakeman gem,我收到以下警告。

== Warnings ==

Confidence: High
Category: Format Validation
Check: ValidationRegex
Message: Insufficient validation for `username` using `/^[a-zA-Z0-9_\.]*$/`. Use `\A` and `\z` as anchors
File: app/models/user.rb
Line: 16

正确分配那些锚点并保持相同字符权限的最佳正则表达式是什么?

正则表达式对我来说还不是一个神话! 最好的问候。

1 个答案:

答案 0 :(得分:0)

来自ruby on rails guides regular expressions

要修复正则表达式,应使用\ A和\ z而不是^和$,例如

/\A[a-zA-Z0-9_\.]*\z/